2022年第六章函数的插值方法 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年第六章函数的插值方法 .pdf》由会员分享,可在线阅读,更多相关《2022年第六章函数的插值方法 .pdf(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学习必备欢迎下载6.1 插值问题及其误差6.1.2 与插值有关的 MATLAB 函数( 一) POLY2SYM函数调用格式一 :poly2sym (C) 调用格式二 :f1=poly2sym(C,V) 或 f2=poly2sym(C, sym (V) ),( 二) POLYVAL函数调用格式 :Y = polyval(P,X)( 三) POLY函数调用格式 :Y = poly (V)( 四) CONV函数调用格式 :C =conv (A, B)例 6.1.2求三个一次多项式)(xg、)(xh和)(xf的积)()()(xhxgxf.它们的零点分别依次为0.4,0.8,1.2. 解我们可以用两种M
2、ATLAB 程序求之 . 方法 1如输入 MATLAB 程序 X1=0.4,0.8,1.2; l1=poly(X1), L1=poly2sym (l1) 运行后输出结果为l1 = 1.0000 -2.4000 1.7600 -0.3840 L1 = x3-12/5*x2+44/25*x-48/125 方法 2如输入 MATLAB 程序 P1=poly(0.4);P2=poly(0.8);P3=poly(1.2); C =conv (conv (P1, P2), P3) , L1=poly2sym (C) 运行后输出的结果与方法1 相同 .( 五) DECONV 函数调用格式 :Q,R =dec
3、onv (B,A)( 六) roots(poly(1:n)命令调用格式 :roots(poly(1:n)( 七) det(a*eye(size (A) - A)命令调用格式 :b=det(a*eye(size (A) - A) 6.2 拉格朗日( Lagrange)插值及其 MATLAB 程序6.2.1 线性插值及其 MATLAB 程序例 6.2.1 已知函数)(xf在3 , 1上具有二阶连续导数,5)( xf,且满足条件2)3(, 1)1 (ff.求线性插值多项式和函数值)5.1 (f,并估计其误差. 解输入程序 X=1,3;Y=1,2; l01= poly(X(2)/( X(1)- X(2
4、), l11= poly(X(1)/( X(2)- X(1), l0=poly2sym (l01),l1=poly2sym (l11), P = l01* Y(1)+ l11* Y(2), L=poly2sym (P),x=1.5; Y = polyval(P,x) 运行后输出基函数l0和 l1及其插值多项式的系数向量P(略) 、插值多项式L 和插值 Y为第六章函数的插值方法精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 29 页学习必备欢迎下载l0 = l1 = L = Y = -1/2*x+3/2 1/2*x-1/2 1/2*x+1
5、/2 1.2500 输入程序 M=5;R1=M*abs(x-X(1)* (x-X(2)/2 运行后输出误差限为 R1 = 1.8750 例 6.2.2求函数)(xfex在 1 ,0上线性插值多项式,并估计其误差. 解输入程序 X=0,1; Y =exp(-X) , l01= poly(X(2)/( X(1)- X(2), l11= poly(X(1)/( X(2)- X(1), l0=poly2sym (l01), l1=poly2sym (l11), P = l01* Y(1)+ l11* Y(2), L=poly2sym (P), 运行后输出基函数l0和 l1及其插值多项式的系数向量P 和
6、插值多项式L 为l0 = l1 = P = -x+1 x -0.6321 1.0000 L = -1423408956596761/2251799813685248*x+1 输入程序 M=1;x=0:0.001:1; R1=M*max(abs(x-X(1).*(x-X(2)./2 运行后输出误差限为 R1 = 0.1250. 6.2.2 抛物线插值及其MATLAB 程序例6.2.3求将区间0, /2 分成n等份)2, 1(n,用xxfycos)(产生1n个节点,然后根据(6.9)和( 6.13)式分别作线性插值函数)(1xP和抛物线插值函数)(2xP.用它们分别计算cos ( /6) (取四位
7、有效数字),并估计其误差. 解输入程序 X=0,pi/2; Y =cos(X) , l01= poly(X(2)/( X(1)- X(2), l11= poly(X(1)/( X(2)- X(1), l0=poly2sym (l01), l1=poly2sym (l11), P = l01* Y(1)+ l11* Y(2), L=poly2sym (P),x=pi/6; Y = polyval(P,x) 运行后输出基函数l0和 l1及其插值多项式的系数向量P、插值多项式和插值为l0 = -5734161139222659/9007199254740992*x+1 l1 = 5734161139
8、222659/9007199254740992*x P = -0.6366 1.0000 L = -5734161139222659/9007199254740992*x+1 Y = 0.6667 输入程序 M=1;x=pi/6; R1=M*abs(x-X(1)*(x-X(2)/2 运行后输出误差限为R1 = 0.2742. (2) 输入程序 X=0:pi/4:pi/2; Y =cos(X) , 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 29 页学习必备欢迎下载l01= conv (poly(X(2), poly(X(3)/( X
9、(1)- X(2)* ( X(1)- X(3), l11= conv (poly(X(1), poly(X(3)/( X(2)- X(1)* ( X(2)- X(3), l21= conv (poly(X(1), poly(X(2)/( X(3)- X(1)* ( X(3)- X(2), l0=poly2sym (l01),l1=poly2sym (l11),l2=poly2sym (l21), P = l01* Y(1)+ l11* Y(2) + l21* Y(3), L=poly2sym (P),x=pi/6; Y = polyval(P,x) 运行后输出基函数l01、l11和 l21及其
10、插值多项式的系数向量P、插值多项式 L和插值 Y为l0 = 228155022448185/281474976710656*x2-2150310427208497/1125899906842624*x+1 l1 = -228155022448185/140737488355328*x2+5734161139222659/2251799813685248*x l2 = 228155022448185/281474976710656*x2-5734161139222659/9007199254740992*x P = -0.3357 -0.1092 1.0000 L= -6048313895780
11、875/18014398509481984*x2-7870612110600739/72057594037927936*x+1 Y = 0.8508 输入程序 M=1;x=pi/6; R2=M*abs(x-X(1)*(x-X(2) *(x-X(3)/6 运行后输出误差限为R2 = 0.0239. 6.2.3 n次拉格朗日( Lagrange)插值及其 MATLAB 程序例6.2.4给出节点数据00.17)00.2(f,00.1)00.0(f,00.2)00.1(f,00.17)00.2(f,作三次拉格朗日插值多项式计算)6 .0(f,并估计其误差.解输入程序 X=-2,0,1,2; Y =17
12、,1,2,17; p1=poly(X(1); p2=poly(X(2); p3=poly(X(3); p4=poly(X(4); l01= conv ( conv (p2, p3), p4)/( X(1)- X(2)* ( X(1)- X(3) * ( X(1)- X(4), l11= conv ( conv (p1, p3), p4)/( X(2)- X(1)* ( X(2)- X(3) * ( X(2)- X(4), l21= conv ( conv (p1, p2), p4)/( X(3)- X(1)* ( X(3)- X(2) * ( X(3)- X(4), l31= conv ( c
13、onv (p1, p2), p3)/( X(4)- X(1)* ( X(4)- X(2) * ( X(4)- X(3), l0=poly2sym (l01), l1=poly2sym (l11),l2=poly2sym (l21), l3=poly2sym (l31), P = l01* Y(1)+ l11* Y(2) + l21* Y(3) + l31* Y(4), 运行后输出基函数l0,l1,l2和l3及其插值多项式的系数向量P(略)为l0 = -1/24*x3+1/8*x2-1/12*x,l1 =1/4*x3-1/4*x2-x+1 l2 = -1/3*x3+4/3*x,l3 =1/8*x
14、3+1/8*x2-1/4*x 输入程序 L=poly2sym (P),x=0.6; Y = polyval(P,x) 运行后输出插值多项式和插值为L = Y = x3+4*x2-4*x+1 0.2560. 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 29 页学习必备欢迎下载输入程序 syms M; x=0.6; R3=M*abs(x-X(1)*(x-X(2) *(x-X(3) *(x-X(4)/24 运行后输出误差限为R3 = 91/2500*M 即R3)(04.0)4(f,)00.2,00.2(. 6.2.5 拉格朗日多项式和基函
15、数的MATLAB 程序求拉格朗日插值多项式和基函数的MATLAB 主程序function C, L,L1,l=lagran1(X,Y) m=length(X); L=ones(m,m); for k=1: m V=1; for i=1:m if k=i V=conv(V,poly(X(i)/(X(k)-X(i); end end L1(k,:)=V; l(k,:)=poly2sym (V) end C=Y*L1;L=Y*l例6.2.5 给出节点数据03.17)15.2(f,24.7)00.1(f,05.1)01.0(f,03. 2)02.1(f,06.17)03.2(f,05.23)25. 3
16、(f, 作五次拉格朗日插值多项式和基函数,并写出估计其误差的公式.解在 MATLAB 工作窗口输入程序 X=-2.15 -1.00 0.01 1.02 2.03 3.25; Y=17.03 7.24 1.05 2.03 17.06 23.05; C, L ,L1,l= lagran1(X,Y) 运行后输出五次拉格朗日插值多项式L 及其系数向量C,基函数 l 及其系数矩阵L1如下C = -0.2169 0.0648 2.1076 3.3960 -4.5745 1.0954 L = 1.0954-4.5745*x+3.3960*x2+2.1076*x3+0.0648*x4-0.2169*x5 L1
17、 = -0.0056 0.0299 -0.0323 -0.0292 0.0382 -0.0004 0.0331 -0.1377 -0.0503 0.6305 -0.4852 0.0048 -0.0693 0.2184 0.3961 -1.2116 -0.3166 1.0033 0.0687 -0.1469 -0.5398 0.6528 0.9673 -0.0097 -0.0317 0.0358 0.2530 -0.0426 -0.2257 0.0023 0.0049 0.0004 -0.0266 0.0001 0.0220 -0.0002 l = -0.0056*x5+0.0299*x4-0.
18、0323*x3-0.0292*x2+0.0382*x-0.0004 0.0331*x5-0.1377*x4-0.0503*x3+0.6305*x2-0.4852*x+0.0048 -0.0693*x5+0.2184*x4+0.3961*x3-1.2116*x2-0.3166*x+1.0033 0.0687*x5-0.1469*x4-0.5398*x3+0.6528*x2+0.9673*x-0.0097 -0.0317*x5+0.0358*x4+0.2530*x3-0.0426*x2-0.2257*x+0.0023 0.0049*x5+0.0004 *x4-0.0266*x3+0.0001*x2
19、+0.0220*x-0.0002 估计其误差的公式为)(5xR)25. 3)(03. 2)(02. 1)(01.0()00. 1)(15. 2(! 6)()6(xxxxxxf,)3.25,-2.15(.精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 29 页学习必备欢迎下载6.2.6 拉格朗日插值及其误差估计的MATLAB 程序拉格朗日插值及其误差估计的MATLAB 主程序function y,R=lagranzi(X,Y,x,M) n=length(X); m=length(x); for i=1:m z=x(i);s=0.0; fo
20、r k=1:n p=1.0; q1=1.0; c1=1.0; for j=1:n if j=k p=p*(z-X(j)/(X(k)-X(j); end q1=abs(q1*(z-X(j);c1=c1*j; end s=p*Y(k)+s; end y(i)=s; end R=M*q1/c1; 例 6.2.6已知5 .030sin,1707.045sin,0866.060sin,用拉格朗日插值及其误差估计的MATLAB 主程序求40sin的近似值,并估计其误差.解在MATLAB 工作窗口输入程序 x=2*pi/9; M=1; X=pi/6 ,pi/4, pi/3; Y=0.5,0.7071,0.8
21、660; y,R=lagranzi(X,Y,x,M) 运行后输出插值y 及其误差限R 为y = R = 0.6434 8.8610e-004. 6.3 牛顿( Newton)插值及其 MATLAB 程序6.3.3 牛顿插值多项式、差商和误差公式的MATLAB 程序求牛顿插值多项式和差商的MATLAB 主程序function A,C,L,wcgs,Cw= newploy(X,Y) n=length(X); A=zeros(n,n); A(:,1)=Y; s=0.0; p=1.0; q=1.0; c1=1.0; for j=2:n for i=j:n A(i,j)=(A(i,j-1)- A(i-1
22、,j-1)/(X(i)-X(i-j+1); end b=poly(X(j-1);q1=conv(q,b); c1=c1*j; q=q1; end C=A(n,n); b=poly(X(n); q1=conv(q1,b); for k=(n-1):-1:1 C=conv(C,poly(X(k); d=length(C); C(d)=C(d)+A(k,k); end L(k,:)=poly2sym(C); Q=poly2sym(q1); syms M wcgs=M*Q/c1; Cw=q1/c1; 例 6.3.3 给 出 节 点 数 据03.17)15.2(f,24.7)00.1(f,05.1)01
23、.0(f,03. 2)02.1(f,06.17)03.2(f,05.23)25. 3(f,作五阶牛顿插值多项式和差商,并写出其估计误差的公式.解 (1)保存名为newpoly.m的 M 文件 . (2)输入 MATLAB 程序精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 29 页学习必备欢迎下载 X=-2.15 -1.00 0.01 1.02 2.03 3.25; Y=17.03 7.24 1.05 2.03 17.06 23.05; A,C,L,wcgs,Cw= newdcw (X,Y) 运行后输出差商矩阵A,五阶牛顿插值多项式L
24、及其系数向量C, 插值余项公式L 及其向量 Cw如下A = 17.0300 0 0 0 0 0 7.2400 -8.5130 0 0 0 0 1.0500 -6.1287 1.1039 0 0 0 2.0300 0.9703 3.5144 0.7604 0 0 17.0600 14.8812 6.8866 1.1129 0.0843 0 23.0500 4.9098 -4.4715 -3.5056 -1.0867 -0.2169 C = -0.2169 0.0648 2.1076 3.3960 -4.5745 1.0954 L = -7813219284746629/3602879701896
25、3968*x5+583849564517807/9007199254740992*x4+593245028711263/281474976710656*x3+3823593773002357/1125899906842624*x2-321902673270315/70368744177664*x+308328649211299/281474976710656 wcgs = 1/720*M*(x6-79/25*x5-14201/2500*x4+4934097026900981/281474976710656*x3+154500712237335/35184372088832*x2-8170642
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年第六章函数的插值方法 2022 第六 函数 方法
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内