实验Matlab数值运算,MATLAB数值实验一(数据的插值运算及其应用完整版

《MATLAB数值实验一(数据的插值运算及其应用完整版》由会员分享,可在线阅读,更多相关《MATLAB数值实验一(数据的插值运算及其应用完整版(6页珍藏版)》请在人人文库网上搜索。

1、佛山科学技术学院实 验 报 告课程名称 数值分析 实验项目 插值法与数据拟合 专业班级 机械工程 姓 名 余红杰 学 号 指导教师 陈剑 成 绩 日 期 月 日 一、实验目的1、学会Lagrange 插值、牛顿插值和三次样条插值等基本插值方法;2、讨论插值的Runge现象3、学会Matlab提供的插值函数的使用方法,会用这些函数解决实际问题。二、实验原理1、拉格朗日插值多项式2、牛顿插值多项式3、三次样条插值三、实验步骤1、用MATLAB编写独立的拉格朗日插值多项式函数2、用MATLAB编写独立的牛顿插值多项式函数3、用MATLAB编写独立的三次样条函数(边界条件为第一、二种情形)4、已知函数。

2、在下列各点的值为:0.20.40.60.81.00.980.920.810.640.38根据步骤1,2,3编好的程序,试分别用4次拉格朗日多项式、牛顿插值多项式以及三次样条函数(自然边界条件)对数据进行插值,并用图给出,、和。5、在区间-1,1上分别取用两组等距节点对龙格函数作多项式插值,对不同值,分别画出插值函数及的图形。6、下列数据点的插值01491625364964012345678可以得到平方根函数的近似,在区间0,64上作图。(1) 用这9个点作8次多项式插值。(2) 用三次样条(第一边界条件)程序求。7、对于给函数在区间-1,1上取,试求3次曲线拟合,试画出拟合曲线并打印出方程,与。

3、第5题的结果比较。四、实验过程与结果:1、Lagrange 插值多项式源代码:function ya=lag(x,y,xa)%x 所有已知插值点%y 插值点对应函数值%xa 所求点,自变量%ya 所求点插值估计量ya=0;mu=1;%初始化%循环方式求L系数,并求和:for i = 1:length(y)for j = 1:length(x)if i = jmu = mu * (xa - x(j) ) / ( x(i) - x(j) );elsecontinueendendya = ya + y(i) * mu ; mu = 1;end2、 Newton源代码:function ya = ne。

4、wton(x,y,xa)%x 所有已知插值点%y 插值点对应函数值%xa 所求点,自变量%ya 所求点插值估计量%建立系数零矩阵D及初始化:D = zeros(length(x)-1);ya = y(1);xi = 1;%求出矩阵D,该矩阵第一行为牛顿插值多项式系数:for i=1:(length(x)-1)D(i,1) = (y(i+1) -y(i)/(x(i+1) -x(i);endfor j=2:(length(x)-1)for i=1:(length(x)-j)D(i,j) = (D(i+1,j-1) - D(i,j-1) / (x(i+j) - x(i);endend%xi为单个多项。

5、式(x-x(1)(x-x(2).的值for i=1:(length(x)-1)for j=1:ixi = xi*(xa - x(j);endya = ya + D(1,i)*xi;xi = 1;end3、 三次样条插值多项式(1)(第一边界条件)源代码:function y=yt1(x0,y0,f_0,f_n,x) _____________(1)%第一类边界条件下三次样条插值;%xi 所求点;%yi 所求点函数值;%x 已知插值点;%y 已知插值点函数值;%f_0左端点一次导数值;%f_n右端点一次导数值;n = length(x0);z = length(y0);h = zeros(n-1。

6、,1);k=zeros(n-2,1);l=zeros(n-2,1);S=2*eye(n);for i=1:n-1h(i)= x0(i+1)-x0(i);endfor i=1:n-2k(i)= h(i+1)/(h(i+1)+h(i);l(i)= 1-k(i);end%对于第一种边界条件: k = 1;k; _______________________(2)l = l;1; _______________________(3)%构建系数矩阵S:for i = 1:n-1S(i,i+1) = k(i);S(i+1,i) = l(i);end%建立均差表:F=zeros(n-1,2);for i =。

7、 1:n-1F(i,1) = (y0(i+1)-y0(i)/(x0(i+1)-x0(i);endD = zeros(n-2,1);for i = 1:n-2F(i,2) = (F(i+1,1)-F(i,1)/(x0(i+2)-x0(i);D(i,1) = 6 * F(i,2);end%构建函数D:d0 = 6*(F(1,2)-f_0)/h(1); ___________(4)dn = 6*(f_n-F(n-1,2)/h(n-1); ___________(5)D = d0;D;dn; ______________(6)m= SD;%寻找x所在位置,并求出对应插值:for i = 1:lengt。

8、h(x)for j = 1:n-1if (x(i)=x0(j)y(i) =( m(j)*(x0(j+1)-x(i)3)/(6*h(j)+.(m(j+1)*(x(i)-x0(j)3)/(6*h(j)+.(y0(j)-(m(j)*h(j)2)/6)*(x0(j+1)-x(i)/h(j)+.(y0(j+1)-(m(j+1)*h(j)2)/6)*(x(i)-x0(j)/h(j) ;break;else continue;endendend (2)(自然边界条件)源代码:仅仅需要对上面部分标注的位置做如下修改:__(1):function y=yt2(x0,y0,x)__(2):k=0;k__(3):l。

9、=l;0__(4)+(5):删除(6):D=0:D:04、PS:另建了一个f方程文件,后面有一题也有用到。function y=f(x0)y = 1./(1+25.*x0.2);___________________________clc;clear;x1=0.2,0.4,0.6,0.8,1.0;y1=0.98,0.92,0.81,0.64,0.38;plot(x1,y1,.);hold onxo=0.2:0.08:1;y=lag(x1,y1,xo);plot(xo,y,o)hold on;y=newton(x1,y1,xo);plot(xo,y,r);hold on;y=yt2(x1,y1,。

10、xo);plot(xo,y,*)h = legend(原始,拉格,牛顿,自样,4);5、clc,clear;x1=linspace(-1,1,10);x2=linspace(-1,1,20);xo=-1:0.02:1;yo=f(xo);plot(xo,yo);hold on;y=f(x1);y=newton(x1,y,xo);plot(xo,y,k);hold on;y=f(x2);y=newton(x2,y,xo);plot(xo,y,r)h = legend(原始,10插,20插,3); 6、clc,clear;x1=0 1 4 9 16 25 36 49 64;y1=0 1 2 3 4 。

11、5 6 7 8 ;xo=0:1:64;y=lag(x1,y1,xo)plot(xo,y,k);hold ony=yt2(x1,y1,xo)plot(xo,y,r)h = legend(拉格,自然样条,2);7、clc,clear; x1=linspace(-1,1,11);xo=-1:0.02:1;y=f(x1);yo=f(xo);plot(xo,yo,r);hold onp=polyfit(x1,y,3);y1=polyval(p,xo);plot(xo,y1)h = legend(原图,三次曲线拟合,2);p%该曲线的三次多项式系数依次显示5、 讨论分析及感想个人感觉就是在数据点比较少,要。

12、求比较低的情况下,使用拉格朗日或是牛顿插值就足够了。但是当数据点比较多的时候,使用样条曲线就更好。当数据更多时,就可以使用曲线拟合方法来求近似值。工程数学的基础知识并不是很苦难,但是很实用,是有必要好好学下的。Matlab也是比较强大的工具,比较符合人的思维逻辑,上手很快。看书上的程序例子和实际编写还是有区别的,看得懂不一定编写的好,主要还是思维方式的锻炼吧格式方法之类,只要了解了其基本功能,然后就是一系列的组合,多训练就熟悉了,比较有趣的课程吧,关键是有数据,有输出图像,看的清晰明白。而且出现的错误,都有清晰的指导,修改起来也很快捷。至于具体的分析,在编写三次样条的时候发现,使用矩阵的思想分析世界是有很大优势的,以后自己会多加训练。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值