数值分析实验报告张飞.docx





《数值分析实验报告张飞.docx》由会员分享,可在线阅读,更多相关《数值分析实验报告张飞.docx(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数值分析课程实验报告姓 名: 张 飞 学 号: 6720150104 学 院: 机 电 学 院 日 期: 2015 年 12 月 7 日 目 录实验一 函数插值方法1实验二 函数逼近与曲线拟合5实验三 数值积分与数值微分7实验四 线方程组的直接解法9实验五 解线性方程组的迭代法15实验六 非线性方程求根19实验七 矩阵特征值问题计算21实验八 常微分方程初值问题数值解法24实验一 函数插值方法一、问题提出 对于给定的一元函数的n+1个节点值。试用Lagrange公式求其插值多项式或分段二次Lagrange插值多项式。数据如下: (1) 0.4 0.55 0.65 0.80 0.95 1.05
2、0.41075 0.578150.696750.90 1.00 1.25382 求五次Lagrange多项式,和分段三次插值多项式,计算,的值。(提示:结果为, ) (2) 1 2 3 4 5 6 7 0.368 0.135 0.050 0.018 0.007 0.002 0.001 试构造Lagrange多项式,计算的,值。(提示:结果为, )二、要求 1、 利用Lagrange插值公式 编写出插值多项式程序; 2、 给出插值多项式或分段三次插值多项式的表达式; 3、 根据节点选取原则,对问题(2)用三点插值或二点插值,其结果如何; 4、 对此插值问题用Newton插值多项式其结果如何。Ne
3、wton插值多项式如下: 其中: 三、目的和意义 1、 学会常用的插值方法,求函数的近似表达式,以解决其它实际问题; 2、 明确插值多项式和分段插值多项式各自的优缺点; 3、 熟悉插值方法的程序编制; 4、 如果绘出插值函数的曲线,观察其光滑性。四、实验步骤(1) 0.4 0.55 0.65 0.80 0.95 1.05 0.41075 0.578150.696750.90 1.00 1.25382 求五次Lagrange多项式,和分段三次插值多项式,计算,的值。(提示:结果为, ) 第一步:先在matlab中定义lagran的M文件为拉格朗日函数代码为:functionc,l=lagran(
4、x,y)w=length(x);n=w-1;l=zeros(w,w);for k=1:n+1v=1;for j=1:n+1if(k=j)v=conv(v,poly(x(j)/(x(k)-x(j);endendl(k,:)=v;endc=y*l;end第二步:然后在matlab命令窗口输入: x=0.4 0.55 0.65 0.80,0.95 1.05;y=0.41075 0.57815 0.69675 0.90 1.00 1.25382; lagran(x,y)回车得到:ans =121.6264 -422.7503 572.5667 -377.2549 121.9718 -15.0845由此
5、得出所求拉格朗日多项式为p(x)=121.6264x5-422.7503x4+572.5667x3-377.2549x2+121.9718x-15.0845第三步:在编辑窗口输入如下命令: x=0.4 0.55 0.65 0.80,0.95 1.05; y=121.6264*x.5-422.7503*x.4+572.5667*x.3-377.2549*x.2+121.9718*x-15.0845; plot(x,y)命令执行后得到如下图所示图形,然后 x=0.596; y=121.6264*x.5-422.7503*x.4+572.5667*x.3-377.2549*x.2+121.9718*
6、x-15.084y =0.6262 得到f(0.596)=0.6262 同理得到f(0.99)=1.0547(2) 1 2 3 4 5 6 7 0.368 0.135 0.050 0.018 0.007 0.002 0.001 试构造Lagrange多项式,和分段三次插值多项式,计算的,值。(提示:结果为, )实验步骤:第一步定义functionc,l=lagran(x,y)w=length(x);n=w-1;l=zeros(w,w);for k=1:n+1v=1;for j=1:n+1if(k=j)v=conv(v,poly(x(j)/(x(k)-x(j);endendl(k,:)=v;en
7、dc=y*l;end定义完拉格朗日M文件 第二步:然后在matlab命令窗口输入: x=1 2 3 4 5 6 7; y=0.368 0.135 0.050 0.018 0.007 0.002 0.001; lagran(x,y)回车得到:ans =0.0001 -0.0016 0.0186 -0.1175 0.4419 -0.9683 0.9950由此得出所求拉格朗日多项式为p(x)=0.0001x6-0.0016x5+0.0186x4-0.1175x3+0.4419x2-0.9683x+0.9950第三步:在编辑窗口输入如下命令: x=1 2 3 4 5 6 7; y=0.0001*x.6
8、-0.0016*x.5+0.0186*x.4-0.1175*x.3+0.4419*x.2-0.9683*x+0.9950; plot(x,y)命令执行后得到如下图所示图形,然后 x=1.8; y=121.6264*x.5-422.7503*x.4+572.5667*x.3-377.2549*x.2+121.9718*x-15.084y =0.1650 得到f(0.596)=0.6262 同理得到f(6.15)=2.3644五、实验结论插值是在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点,它是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其
9、他点处的近似值。实验二 函数逼近与曲线拟合 一、问题提出 从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。 在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量与时间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、近似解析表达式为;3、打印出拟合函数,并打印出与的误差,; 4、另外选取一个近似表达式,尝试拟合效果的
10、比较; 5、* 绘制出曲线拟合图。 三、目的和意义 1、掌握曲线拟合的最小二乘法; 2、最小二乘法亦可用于解超定线代数方程组; 3、探索拟合函数的选择与拟合精度间的关系四、实验步骤: 第一步先写出线性最小二乘法的M文件function c=lspoly(x,y,m)n=length(x);b=zeros(1:m+1);f=zeros(n,m+1);for k=1:m+1f(:,k)=x.(k-1);enda=f*f;b=f*y;c=ab;c=flipud(c);第二步在命令窗口输入:lspoly(0,5,10,15,20,25,30,35,40,45,50,55,0,1.27,2.16,2.8
11、6,3.44,3.87,4.15,4.37,4.51,4.58,4.02,4.64,2)回车得到:ans = -0.0024 0.20370.2305即所求的拟合曲线为y=-0.0024x2+0.2037x+0.2305在编辑窗口输入如下命令: x=0,5,10,15,20,25,30,35,40,45,50,55; y=-0.0024*x.2+0.2037*x+0.2305; plot(x,y)命令执行得到如下图五、实验结论分析复杂实验数据时,常采用分段曲线拟合方法。利用此方法在段内可以实现最佳逼近,但在段边界上却可能不满足连续性和可导性。分段函数的光滑算法,给出了相应的误差分析.给出了该方
12、法在分段曲线拟合中的应用方法以及凸轮实验数据自动分段拟合。实验三 数值积分与数值微分一、问题提出 选用复合梯形公式,复合Simpson公式,Romberg算法,计算 (1) (2) (3) (4) 二、要求 1、 编制数值积分算法的程序; 2、 分别用两种算法计算同一个积分,并比较其结果; 3、 分别取不同步长,试比较计算结果(如n = 10, 20等); 4、 给定精度要求,试用变步长算法,确定最佳步长。 三、目的和意义 1、 深刻认识数值积分法的意义; 2、 明确数值积分精度与步长的关系; 3、 根据定积分的计算方法,可以考虑二重积分的计算问题。四、 实验步骤 第一步:编写各种积分的程序
13、复合梯形程序如下: function I=TX(x,y) n=length(x);m=length(y); if n=m error(The lengths of X and Y must be equal); return; end h=(x(n)-x(1)/(n-1); a=1 2*ones(1,n-2) 1; I=h/2*sum(a.*y); 复合Simpson程序如下: function s = simpr1(f,a,b,n) h=(b-a)/(2*n); s1=0; s2=0; for k=1:10 x=a+h*(2*k-1); s1=s1+feval(f,x); end for k
14、=1:(10-1) x=a+h*2*k; s2=s2+feval(f,x); end s=h*(feval(f,a)+feval(f,b)+4*s1+2*s2)/3; endRomberg程序如下:function I = Romber_yang(fun,a,b,ep)if nargin1;T(m+1,k+1)=(4k*T(m+1,k)-T(m,k)/(4k-1);M=M/2;k=k+1;endif abs(T(k,k)-T(k-1,k-1)a_max a_max=abs(A(i,k);r=i; end end if a_maxk for j=k:n z=A(k,j);A(k,j)=A(r,j
15、);A(r,j)=z; end z=b(k);b(k)=b(r);b(r)=z;det=-det; end % 消元过程 for i=k+1:n m=A(i,k)/A(k,k); for j=k+1:n A(i,j)=A(i,j)-m*A(k,j); end b(i)=b(i)-m*b(k); end det=det*A(k,k);enddet=det*A(n,n);% 回代过程if abs(A(n,n) A=4 2 -3 -1 2 1 0 0 0 0;8 6 -5 -3 6 5 0 1 0 0;4 2 -2 -1 3 2 -1 0 3 1;0 -2 1 5 -1 3 -1 1 9 4;-4
16、2 6 -1 6 7 -3 3 2 3;8 6 -8 5 7 17 2 6 -3 5;0 2 -1 3 -4 2 5 3 0 1;16 10 -11 -9 17 34 2 -1 2 2;4 6 2 -7 13 9 2 0 12 4;0 0 -1 8 -3 -24 -8 6 3 -1; b=5 12 3 2 3 46 13 38 19 -21; gauss(A,b)ans = 1.0000 -1.0000 0.0000 1.0000 2.0000 0.0000 3.0000 1.0000 -1.00002.0000高斯-约当消去法maltab的M文件程序function x,flag=Gau_J
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 分析 实验 报告

限制150内