数值分析作业三次样条插值

上传人:沈*** 文档编号:67780886 上传时间:2022-04-01 格式:DOC 页数:17 大小:449.50KB
返回 下载 相关 举报
数值分析作业三次样条插值_第1页
第1页 / 共17页
数值分析作业三次样条插值_第2页
第2页 / 共17页
数值分析作业三次样条插值_第3页
第3页 / 共17页
点击查看更多>>
资源描述
数值计算方法作业实验名称实验4.3三次样条插值函数(P126)4.5三次样条插值函数的收敛性(P127)实验时间姓名班级学号成绩实验4.3三次样条差值函数实验目的:掌握三次样条插值函数的三弯矩方法实验函数:1X f(x)e 2dtX0.00.10.20.30.4F(x)0.50000.53980.57930.61790.7554求f(0.13)和f(0.36)的近似值实验内容:(1)编程实现求三次样条插值函数的算法,分别考虑不同的边界条件;(2)计算各插值节点的弯矩值;(3)在同一坐标系中绘制函数f(x),插值多项式,三次样条插值多项式的曲 线比较插值结果。实验4.5三次样条差值函数的收敛性实验目的:多项式插值不一定是收敛的,即插值的节点多,效果不一定好。对三次样条插值 函数如何呢?理论上证明三次样条插值函数的收敛性是比较困难的, 通过本实验 可以证明这一理论结果。实验内容:按照一定的规则分别选择等距或非等距的插值节点,并不断增加插值节点的个 数。实验要求:(1)随着节点个数的增加,比较被逼近函数和三样条插值函数的误差变化情 况,分析所得结果并与拉格朗日插值多项式比较;(2) 三次样条插值函数的思想最早产生于工业部门。 作为工业应用的例子,考其中一虑如下例子:某汽车制造商根据三次样条插值函数设计车门曲线, 段数据如下:Xk012345678910yk0.00.791.532.192.713.033.272.893.063.193.29yk0.80.2算法描述:拉格朗日插值:00 = 隹(憨心)其中 是拉格朗日基函数,其表达式为:nX Xjli (X)()j 0 (XiXj)j i牛顿插值:Nn(x) f(Xo) fXo,Xi(Xx0) fXo,Xi,X2(X xO)(x Xi)fXo,Xi,X2,.Xn(X Xo)(X Xi).(X Xn i)f Xi, Xj f(Xi) f(Xj)Xi XjfXi,Xj ,Xk其中.fXj,Xk fXi,XjXk XifXo,Xi.Xn(fXi,X2,.XnfXo,Xi,.Xi)/(XnXo)三样条插值:所谓三次样条插值多项式Sn(X)是一种分段函数,它在节点 Xi(aX0X1Xn=jY(i)=(Y(i)-Y(i-1)/(X(i)-X(i-j+1); else Y(i)=0; endendnewt=newt,Y;end %计算牛顿插值 f=newt(1,2);for i=2:nz=1;for k=1:i-1 z=(xi-X(k)*z;end f=f+newt(i-1,i)*z; endfprintf( %dn ,f)return3 三次样条插值第一类边界条件 Threch.mfunction S=Threch1(X,Y,dy0,dyn,xi)%X 为已知数据的横坐标%Y为已知数据的纵坐标%xi插值点处的横坐标%跋得的三次样条插值函数的值%dyO左端点处的一阶导数% dyn右端点处的一阶导数 n=length(X)-1;d=zeros(n+1,1); h=zeros(1,n-1);f1=zeros(1,n-1);f2=zeros(1,n-2);for i=1:n %求函数的一阶差商h(i)=X(i+1)-X(i); f1(i)=(Y(i+1)-Y(i)/h(i);endfor i=2:n %求函数的二阶差商 f2(i)=(f1(i)-f1(i-1)/(X(i+1)-X(i-1); d(i)=6*f2(i);endd(1)=6*(f1(1)-dy0)/h(1);d(n+1)=6*(dyn-f1(n-1)/h(n-1);%?赋初值A=zeros(n+1,n+1);B=zeros(1,n-1);C=zeros(1,n-1);for i=1:n-1B(i)=h(i)/(h(i)+h(i+1);C(i)=1-B(i);endA(1,2)=1;A(n+1,n)=1;for i=1:n+1A(i,i)=2;endfor i=2:nA(i,i-1)=B(i-1);A(i,i+1)=C(i-1);endM=Ad;syms x;for i=1:nSx(i)=collect(Y(i)+(f1(i)-(M(i)/3+M(i+1)/6)*h(i)*(x-X(i) .+M(i)/2*(x-X(i)A2+(M(i+1)-M(i)/(6*h(i)*(x-X(i)f3);digits(4);Sx(i)=vpa(Sx(i);% 三样条插值函数表达式endfor i=1:ndisp( S(x)=);fprintf( %s (%d,%d)n,char(Sx(i),X(i),X(i+1);endfor i=1:nif xi=X(i)&xi=X(i)&xi=X(i+1)S(i)=Y(i)+(f1(i)-(M(i)/3+M(i+1)/6)*h(i)*(xi-X(i)+M(i)/2*(xi-X(i)F2+(M(i+1)-M(i) /(6*h(i)*(xi-X(i)F3;endenddisp( xi S );fprintf( %d,%dn ,xi,S);return5插值节点处的插值结果main3.mclearclcX=0.0,0.1,0.2,0.3,0.4;Y=0.5000,0.5398,0.5793,0.6179,0.7554;xi=0.13;%xi=0.36;disp( xi=0.13);%disp(xi=0.36);disp( 拉格朗日插值结果 );lang(X,Y,xi);disp( 牛顿插值结果 );newton(X,Y,xi);disp( 三次样条第一类边界条件插值结果 );Threch1(X,Y,0.40,0.36,xi);%0.4,0.36 分别为两端点处的一阶导数disp( 三次样条第二类边界条件插值结果 );Threch2(X,Y,0,-0.136,xi);%0,-0.136 分别为两端点处的二阶导数6将多种插值函数即原函数图像画在同一张图上main2.mclearclcX=0.0,0.1,0.2,0.3,0.4;Y=0.5000,0.5398,0.5793,0.6179,0.7554;% 拉格朗日插值% 牛顿插值%原函数S(i)=Threch1(X,Y,0.4,0.36,xi);%三次样条函数第一类边界条件a=linspace(0,0.4,21);NUM=21;L=zeros(1,NUM);N=zeros(1,NUM);S=zeros(1,NUM);B=zeros(1,NUM); for i=1:NUMxi=a(i);L(i)=lang(X,Y,xi);N(i)=newton(X,Y,xi);B(i)=normcdf(xi,0,1);end plot(a,B, -r ); hold on; plot(a,L, b ); hold on; plot(a,N, r ); hold on; plot(a,S, r+ ); hold on;legend( 原函数 , 拉格朗日插值 , 牛顿插值 , 三次样条插值 ,2);hold off7增加插值节点观察误差变化main4.mclear;clc;N=5;%4.5第一问Ini=zeros(1,1001);a=linspace(-1,1,1001);Ini=1./(1+25*a.A2);for i=1:3%节点数量变化次数N=2*N;t=linspace(-1,1,N+1);%插值节点ft=1./(1+25*t.A2);%插值节点函数值val=linspace(-1,1,101);for j=1:101L(j)=lang(t,ft,val(j);S(j)=Threch1(t,ft,0.074,-0.074,val(j);%三样条第一类边界条件插值endplot(a,Ini, k )%原函数图象hold on plot(val,L,r ) %拉格朗日插值函数图像hold on plot(val,S,b ) %三次样条插值函数图像str=sprintf( 插值节点为 d寸的插值效果,N); title(str);legend( 原函数 , 拉格朗日插值 , 三次样条插值 ); %显示图例 hold offfigure end8车门曲线main5.mclear clc X=0,1,2,3,4,5,6,7,8,9,10;Y=0.0,0.79,1.53,2.19,2.71,3.03,3.27,2.89,3.06,3.19,3.29; dy0=0.8;dyn=0.2; n=length(X)-1;d=zeros(n+1,1); h=zeros(1,n-1);f1=zeros(1,n-1);f2=zeros(1,n-2);for i=1:nh(i)=X(i+1)-X(i); f1(i)=(Y(i+1)-Y(i)/h(i);endfor i=2:nf2(i)=(f1(i)-f1(i-1)/(X(i+1)-X(i-1); d(i)=6*f2(i);end d(1)=6*(f1(1)-dy0)/h(1); d(n+1)=6*(dyn-f1(n-1)/h(n-1); A=zeros(n+1,n+1);B=zeros(1,n-1); C=zeros(1,n-1);for i=1:n-1B(i)=h(i)/(h(i)+h(i+1);C(i)=1-B(i); endA(1,2)=1;A(n+1,n)=1;for i=1:n+1A(i,i)=2;endfor i=2:nA(i,i-1)=B(i-1);A(i,i+1)=C(i-1);endM=Ad;x=zeros(1, n);S=zeros(1, n);for i=1:nx(i)=X(i)+0.5;S(i)=Y(i)+(f1(i)-(M(i)/3+M(i+1)/6)*h(i)*(x(i)-X(i)+M(i)/2*(x(i)-X(i)F2+(M(i+1)-M(i)/(6*h(i)*(x(i)-X(i)F3;endplot(X,Y, k ); hold on;plot(x,S, o);title(三次样条插值效果图);legend(已知插值节点,三次样条插值);hold off实验结果:4.31计算插值节点处的函数值xi=0.13 时1 U. 1 3锂相期曰创虫吉巣5.530503-001半砸描怕却1黑三斗单蔡第一关曲.络举件抽施实吉巣” hO0lH-. 4 Cl U1I*X-. 3SH8*x 2+3. 69S*w3 CCl, 1, UH 0110 e-OU 1 Js =* 5 1s丈耳.IC2. 口 口外 He-口 7寸- 口 口门 r 1 73=3+52r 4S*x2-ir et tXaaooooe-aai.4.oooaotie-aoijS】 3DD0Ddu- 口01 h 5, 5314D3C-0D1三杆苗弟二炎炖窈恭件価ra结尽S =x 5QnDi-. 30OG *x i t , 754 x - 3lCi 1 + 000000c -001 Js -.d i oa-. ora + M24?(i- ooodoatf-ooij 2. oooooow-ooi、n 32” 11368* 33- 3-22* 6b+w - 2- S* 2 1 5*xDOODOOe-DO J , J- HODOODe-DO )S =1. SOr-20. 84*m 3 + 32.I .(3_ 000000 w-00 1, 4. 00 0000-00 JK A S1 - JLiLtCtlOft-OFJ 1, 5. B3D211e-00 1, IXi=0.36 时话競FIH?旧如甩6.#换估值结卑V . 1693 33r:-lllJl羊淙務骐辿界亲件恆値主占杲S 3 =.占口i口十-4nm卒近一_ 3ga*zc *2十勺-essDc a上口i. cocoEin -odiS d =.&i ar 1 o_3-4- o L3+ * 2. so 了卩才 i+盟 ci - 0000009(jo i. 2. oooooueoo 1 iS(K =.1093-1-39, ss*a:_3-2a. 39*ic-2+S- ic?- aarjiioli Din, 1 loomiiif-ao i s n =2 q.rg-JF. ?3*k; 十DM. 45*x2-1F. s L*t:d COOOe-OD 1 曲 s3. Ficioaoo-Cio G. 9E4nCl.-ClCl 1三彳羊韻弟二焚诀 贡 無啊ItLTHiS果S (-.5onn-i-. 3fiO5*x-bi.cd, 1. inooorin-nmj.5 1IJ3-U. urO*H 3+3- 2-tr *x 2* 5&re- I +k J . UOUOOOc-ULI 丄.2. Odd IJ CICio-ULm s g 二.1 ggg 1 33* D3 *.* 3 -22. f;D*x 2 * Bx 21 齐水乂 -1 . eor-2t5.出垃LJ*x*2-l 1.丄 5*xL. COCOOCo-OO 1 )Sj. ei io(ioos-ciu 1, 11u, o6. ?1045*-00 !.: I2将多种插值函数即原函数图像画在同一张图上4.5.1增加插值节点观察误差变化何1宜F点致ZT10UT旳何1宜致果插值节点数为20时的拯值效束从上面三张图可以看出增加插值节点并不能改善差之效果4.5.2车门曲线(注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分 来自网络,供参考。可复制、编制,期待你的好评与关注)
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!