数值分析报告资料.doc
《数值分析报告资料.doc》由会员分享,可在线阅读,更多相关《数值分析报告资料.doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上数值分析课程名称 数值分析实验报告 专业班级 应用数学111班 姓名 陈伟 学号 8 教学教师 岳雪芝 实验二 函数逼近与曲线拟合 一、问题提出 从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。 在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量与时间t的拟合曲线。 t(分)0 5 10 15 20 25 30 35 40 45 50 55 0 1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.02 4.64 二、要求 1、用最小二乘法进行曲线
2、拟合; 2、近似解析表达式为;3、打印出拟合函数,并打印出与的误差,; 4、另外选取一个近似表达式,尝试拟合效果的比较; 5、* 绘制出曲线拟合图。 三、目的和意义 1、掌握曲线拟合的最小二乘法; 2、最小二乘法亦可用于解超定线代数方程组; 3、探索拟合函数的选择与拟合精度间的关系。四、实验步骤:输入代码:t=0 5 10 15 20 25 30 35 40 45 50 55; y=0 1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.02 4.64; for i=1:12 A(i,1)=t(i); A(i,2)=t(i).2; A(i,3)=t(i
3、).3; end p_star=Ay; y_star=p_star(1)*t+p_star(2)*t.2+p_star(3)*t.3; s_star=0; for i=1:12 s_star=s_star+(y_star(i)-y(i)2; end plot(t,y,*,t,y_star,g);比较拟和结果,分别取二次,三次和四次多项式,再做最小二乘法,代码如下: t=0 5 10 15 20 25 30 35 40 45 50 55; y=0 1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.02 4.64; %3次拟合 p3=polyfit(t,
4、y,3) y_new=polyval(p3,t); s_3=0; for i=1:12s_3=s_3+(y_new(i)-y(i)2; end %2次拟合 p2=polyfit(t,y,2); y_new2=polyval(p2,t); s_2=0; for i=1:12 s_2=s_2+(y_new2(i)-y(i)2; end %4次拟合 p4=polyfit(t,y,4); y_new4=polyval(p4,t); s_4=0; for i=1:12 s_4=s_4+(y_new4(i)-y(i)2; end比较4种拟合函数,结论:常数项为0的三次拟合函数在保证拟合精度的同时,保证0点
5、的函数值仍为0,是四种拟合方法中最好的一种。原图与曲线拟合图如下所示:分析: 从上面的拟合中也可以知道多项式拟合误差平方和随着拟合多项式次数的增加而逐渐减少,拟合曲线更靠近实际数据,拟合更准确。实验三 数值积分与数值微分一、基本题 选用复合梯形公式,复合Simpson公式,Romberg算法,计算 (1)二、要求 1、 编制数值积分算法的程序; 2、 分别用两种算法计算同一个积分,并比较其结果; 3、 分别取不同步长,试比较计算结果(如n = 10, 20等); 4、 给定精度要求,试用变步长算法,确定最佳步长。 三、目的和意义 1、 深刻认识数值积分法的意义; 2、 明确数值积分精度与步长的
6、关系; 3、 根据定积分的计算方法,结合专业考虑给出一个二重积分的计算问题。 四、实验步骤:代码1,复合梯形公式function result=trapezoid_integration(f,count_node,a,b) %composite trapezoid integration,f,函数表达式,count_node插入节点数量,a,开始点,b结束点 h=(b-a)/count_node;%h步长 np1=count_node+1;%包括端点,总共的点的数量 x=a:h:b;%x自变量 c=ones(np1,1); c(1,1)=0.5;c(np1,1)=0.5;%两个端点都取一半 s
7、yms symbol_x; fx=subs(f,symbol_x,x); result=vpa(h*fx*c,9);代码2,复合simpson公式function result=simpson_integration(f,count_node,a,b) %composite simpson integration,f,函数表达式,count_node插入节点数量,a,开始点,b结束点 h=(b-a)/count_node;%h步长 np1=2*count_node+1;%包括端点,总共的2n+1点 x=a:h/2:b;%x自变量 c=ones(np1,1); for i=1:np1 if(mo
8、d(i,2)=0)%偶数 c(i,1)=2/3; else%奇数 c(i,1)=1/3; end end c(1,1)=1/6;c(np1,1)=1/6;%两个端点都取1/6 syms symbol_x; fx=subs(f,symbol_x,x); result=vpa(h*fx*c,9);代码3,检验复合梯形公式和复合simpson公式function result1=test_integration() %测试复合梯形公式,复合simpson公式,用到trapezoid_integration,simpson_integration syms symbol_x; f1=sin(symbo
9、l_x)/symbol_x; syms A1;%用于输出f1积分结果 for i=1:9 A1(i,1)=trapezoid_integration(f1,i,1e-9,1); A1(i,2)=simpson_integration(f1,i,1e-9,1); end k=10; for i=10:10:100 A1(k,1)=trapezoid_integration(f1,i,1e-9,1); A1(k,2)=simpson_integration(f1,i,1e-9,1); k=k+1; end IS(2)=int(f1,symbol_x,0,1); vpa(IS(2) result1=
10、A1;结果分析 从上面的计算结果可以看出复合梯形公式和复合simpson公式的稳定性,并且步长越小精度越高,当n趋于正无穷,即步长趋于0时,上述两公式的计算值都收敛到积分值。 从收敛的速度来看,复合simpson公式优于复合梯形公式。实验四 线方程组的直接解法一、问题提出:1、 三对角形线性方程组 二、要求 1、 对上述三个方程组分别利用Gauss顺序消去法与Gauss列主元消去法;平方根法与改进平方根法;追赶法求解(选择其一); 2、 应用结构程序设计编出通用程序; 3、 比较计算结果,分析数值解误差的原因; 4、 尽可能利用相应模块输出系数矩阵的三角分解式。 三、目的和意义 1、通过该课题
11、的实验,体会模块化结构程序设计方法的优点; 2、运用所学的计算方法,解决各类线性方程组的直接算法; 3、提高分析和解决问题的能力,做到学以致用; 通过三对角形线性方程组的解法,体会稀疏线性方程组解法的特点。 四、实验步骤:高斯顺序消去法:function result=Gauss(A,d) %高斯顺序消元法 n,m=size(A) k=ones(1,n);%用于记录-A(j,i)/A(i,i) for i=1:n if(A(i,i)=0) 主元为0,不能使用高斯顺序消元法 return; end for j=i+1:n k(j)=-A(j,i)/A(i,i) A(j,:)=A(i,:).*k(
12、j)+A(j,:);%加到第j行 d(j)=d(i).*k(j)+d(j); end end x=zeros(n,1) x(n)=d(n)/A(n,n); for i=n-1:-1:1 x(i)=(d(i)-A(i,:)*x)/A(i,i); end result=xGauss列主元消去法function result=Gauss2(A,d) %高斯列主元消元法 n,m=size(A); d_length,d_width=size(d); if(d_length=n | d_width=1) 方程右端向量输入有误 return; end if(n=m) 系数矩阵不是方阵 return; end
13、 AandD=A d;%增广阵 k=ones(1,n);%用于记录-A(j,i)/A(i,i) record=1:n;%用于记录行的交换情况 for i=1:n %选取第i列的最大元进行换位 l,index=max(abs(AandD(i:n,i); if(index=i)temp_record=record(index); record(index)=record(i+index-1); record(i+index-1)=temp_record; temp=AandD(i,:); AandD(i,:)=AandD(i+index-1,:); AandD(i+index-1,:)=temp;
14、 end %顺序消元 if(AandD(i,i)=0) 主元为0,不能使用高斯列主元顺序消元法 return; end for j=i+1:n k(j)=-AandD(j,i)/AandD(i,i); AandD(j,:)=AandD(i,:).*k(j)+AandD(j,:);%加到第j行 end endA=AandD(1:n,1:n); d=AandD(1:n,n+1); x=zeros(n,1); x(n)=d(n)/A(n,n); for i=n-1:-1:1 x(i)=(d(i)-A(i,:)*x)/A(i,i); end %由于不是顺序消元,所以还要再换回来 for i=1:n r
15、esult(i)=x(record(i); end追赶法function result=chase_after(A,d) n,m=size(A); d_length,d_width=size(d); if(d_length=n | d_width=1) 方程右端向量输入有误 return; end if(n=m) 系数矩阵不是方阵 return; end for i=2:n专心-专注-专业toCheck1=diag(A,i); toCheck2=diag(A,-i); if(norm(toCheck1)=0|norm(toCheck2)=0) 系数矩阵不是三对角阵 return; end en
16、db=diag(A); a=zeros(n,1); a(2:n)=diag(A,-1); c=diag(A,1); if(b(1)=0) 因顺序主子式为0,不能进行Crout分解 return; endl(1)=b(1); y(1)=d(1)/l(1); u(1)=c(1)/l(1); for i=2:n l(i)=b(i)-a(i)*u(i-1); if(l(i)=0) 因顺序主子式为0,不能进行Crout分解 return; end y(i)=(d(i)-y(i-1)*a(i)/l(i); if(i=n) u(i)=c(i)/l(i); end end x(n)=y(n); for i=n
17、-1:-1:1 x(i)=y(i)-u(i)*x(i+1); end y=y;result=x;检验三种直接解线性方程组的方法function test_chase_after A= 4 -1 0 0 0 0 0 0 0 0; -1 4 -1 0 0 0 0 0 0 0; 0 -1 4 -1 0 0 0 0 0 0; 0 0 -1 4 -1 0 0 0 0 0; 0 0 0 -1 4 -1 0 0 0 0; 0 0 0 0 -1 4 -1 0 0 0; 0 0 0 0 0 -1 4 -1 0 0; 0 0 0 0 0 0 -1 4 -1 0; 0 0 0 0 0 0 0 -1 4 -1; 0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 分析 报告 资料
限制150内