数值分析实验报告Matlab仿真(共20页).doc
《数值分析实验报告Matlab仿真(共20页).doc》由会员分享,可在线阅读,更多相关《数值分析实验报告Matlab仿真(共20页).doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上数值分析实验报告学院:电气工程与自动化学院专业:控制理论与控制工程姓名:李亚学号:2014 年 12 月24日实验一 函数插值方法 一、目的和意义 1、 学会常用的插值方法,求函数的近似表达式,以解决其它实际问题; 2、 明确插值多项式和分段插值多项式各自的优缺点; 3、 熟悉插值方法的程序编制; 4、 如果绘出插值函数的曲线,观察其光滑性。二、实验原理 1、 Lagrange插值公式 编写出插值多项式程序; 2、 给出插值多项式或分段三次插值多项式的表达式; 三、实验要求对于给定的一元函数的n+1个节点值。试用Lagrange公式求其插值多项式或分段二次Lagran
2、ge插值多项式。数据如下: (1) 0.4 0.55 0.65 0.80 0.95 1.05 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进入matlab开发环境;2根据实验内容和要求编写程序,程序如下所示,程序通过运用function函数编写,生成.m文件。调用时只需要在命令窗口
3、调用y=Lagrange(A,input)就可以实现任意次数拉格朗日插值法求解。function y=Lagrange(A,input)a,b=size(A);x=input;y=0;for j=1:a Mj=1; Nj=1; for k=1:a if(k=j) continue; end Mj=Mj*(x-A(k,1); Nj=Nj*(A(j,1)-A(k,1); end y=y+A(j,2)*Mj/Nj;end3调试程序并运行程序;调用拉格朗日脚本文件对以上两个表格数据求解,表格一对应MATLAB向量A;表格二对应向量I。在命令窗口调用y=Lagrange(A,input),求解如下面截图
4、。图1 表一数据的解图2 表二数据的解4实验总结 通过对插值法算法编程,加深了对插值方法的理解,熟悉了MATLAB编写脚本函数。通过计算机求解,能更加方便快捷求解。 实验二 函数逼近与曲线拟合 一、目的和意义 1、掌握曲线拟合的最小二乘法; 2、最小二乘法亦可用于解超定线代数方程组; 3、探索拟合函数的选择与拟合精度间的关系。二、实验原理 对于给定的测量数据(xi,fi)(i=1,2,,n),设函数分布为特别的,取为多项式 (j=0, 1,,m)则根据最小二乘法原理,可以构造泛函令 (k=0, 1,,m)则可以得到法方程求该解方程组,则可以得到解,因此可得到数据的最小二乘解三、实验要求 1、用
5、最小二乘法进行曲线拟合; 2、近似解析表达式为;3、打印出拟合函数,并打印出与的误差,; 4、另外选取一个近似表达式,尝试拟合效果的比较; 5、绘制出曲线拟合图。 四、实验步骤: 1进入matlab开发环境;2根据实验内容和要求编写程序如下;代码一公式S(x)=a1*t+a2*t2+a3*t3;代码二公式S(x)=a2*t2+a3*t3+a4*t4.代码一:function error=mintwomultiply(A)%S(x)=a1*t+a2*t2+a3*t3a,b=size(A);M=zeros(3);N=zeros(3,1);error=0;for i=1:a M(1,1)=M(1,1
6、)+A(i,1)*A(i,1); M(1,2)=M(1,2)+A(i,1)*A(i,1)2; M(2,1)=M(1,2); M(1,3)=M(1,3)+A(i,1)*A(i,1)3; M(3,1)=M(1,3); M(2,2)=M(2,2)+A(i,1)2*A(i,1)2; M(2,3)=M(2,3)+A(i,1)2*A(i,1)3; M(3,2)=M(2,3); M(3,3)=M(3,3)+A(i,1)3*A(i,1)3; N(1,1)=N(1,1)+A(i,1)*A(i,2); N(2,1)=N(2,1)+A(i,1)2*A(i,2); N(3,1)=N(3,1)+A(i,1)3*A(i,
7、2);end%a1,a2,a3=solve(M,N)I=MN;for i=1:aA(i,3)=I(1,1)*A(i,1)+I(2,1)*A(i,1)2+I(3,1)*A(i,1)3; error=error+(A(i,3)-A(i,2)2;endhold on;plot(A(:,1),A(:,3),r,LineWidth,2);plot(A(:,1),A(:,2),b,LineWidth,2);legend(原始图像,拟合图像,2);hold off;代码二:function error=mintwomultiply2(A)%S(x)=a2*t2+a3*t3+a4*t4a,b=size(A);
8、M=zeros(3);N=zeros(3,1);error=0;for i=1:a M(1,1)=M(1,1)+A(i,1)2*A(i,1)2; M(1,2)=M(1,2)+A(i,1)2*A(i,1)3; M(2,1)=M(1,2); M(1,3)=M(1,3)+A(i,1)2*A(i,1)4; M(3,1)=M(1,3); M(2,2)=M(2,2)+A(i,1)3*A(i,1)3; M(2,3)=M(2,3)+A(i,1)3*A(i,1)4; M(3,2)=M(2,3); M(3,3)=M(3,3)+A(i,1)4*A(i,1)4; N(1,1)=N(1,1)+A(i,1)2*A(i,2
9、); N(2,1)=N(2,1)+A(i,1)3*A(i,2); N(3,1)=N(3,1)+A(i,1)4*A(i,2);end%a1,a2,a3=solve(M,N)I=MN;for i=1:a A(i,3)=I(1,1)*A(i,1)2+I(2,1)*A(i,1)3+I(3,1)*A(i,1)4 error=error+(A(i,3)-A(i,2)2;endhold on;plot(A(:,1),A(:,3),r,LineWidth,2);plot(A(:,1),A(:,2),b,LineWidth,2);legend(原始图像,拟合图像,2);hold off;3调试程序并运行程序;在
10、某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量与时间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 根据以上数据调用代码一和代码二,结果如下图,返回的结果为error为误差,拟合图像蓝的为原始图像,红的为拟合图像,具体图像见下图:图1 公式一误差图2 公式一拟合图图3 公式二误差图4 公式二拟合图4实验总结从不同公式产生的误差来看,公式一明显误差小;从产生的拟合图像来看公式一更稳定,更平稳。由此可得,公式的选取对结果的影响很大。实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 分析 实验 报告 Matlab 仿真 20
限制150内