数值分析第一次实验报告

上传人:re****.1 文档编号:471064276 上传时间:2023-10-20 格式:DOCX 页数:17 大小:273.58KB
返回 下载 相关 举报
数值分析第一次实验报告_第1页
第1页 / 共17页
数值分析第一次实验报告_第2页
第2页 / 共17页
数值分析第一次实验报告_第3页
第3页 / 共17页
数值分析第一次实验报告_第4页
第4页 / 共17页
数值分析第一次实验报告_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《数值分析第一次实验报告》由会员分享,可在线阅读,更多相关《数值分析第一次实验报告(17页珍藏版)》请在金锄头文库上搜索。

1、升洛火掌数值分析上机实验报告题目:插值法学生姓名学院名称计算机学院专 业计算机科学与技术时 间一. 实验目的1、掌握三种插值方法:牛顿多项式插值,三次样条插值,拉格朗日插值2、学会matlab提供的插值函数的使用方法二. 实验内容1、已知函数在下列各点的值为xi0.20.40.60.81.0f(x)i0.980.920.810.640.38试用4次牛顿插值多项式七(x)及三次样条函数,(x)(自然边界条 件)对数据进行插值。用图给出 (xi,yi),X|=0.2+0.08i,i=0,1,11,10,P4(x)及S(x)。2、在区间-1,1上分别取n=10,20用两组等距节点对龙格函数 f(x)

2、=1/(1+25x2 )作多项式插值及三次样条插值,对每个n值,分 别画出插值函数及f(x)的图形。3、下列数据点的插值x01491625364964y012345678可以得到平方根函数的近似,在区间0,64上作图。(1) 用这9个点作8次多项式插值L8 (x)(2) 用三次样条(第一边界条件)程序求,(x)从得到结果看在0,64上,哪个插值更精确,在区间0,1上。两种插值哪个更精确?三. 实现方法1. 进入matlab开发环境2. 依据算法编写代码3. 调试程序4. 运行程序5. (1)牛顿插值多项式:P =f(x )+fx ,x (x-x )+fx ,x ,x (x-x )(x-x )+

3、fx ,x,x n 00100120101n(x-x0)(x-x )三次样条插值:用三次样条插值函数由题目分析知,要求各点的冲值:一 20000 100.50020.500003.75000D.50020网0T姗000,50020.500-a 750000002 m406. 实验代码如下:(1)牛顿插值多项式程序:function varargout=newton(varargin)clear,clcx=0.2 0.4 0.6 0.8 1.0; fx=0.98 0.92 0.81 0.64 0.38; newtonchzh(x,fx); function newtonchzh(x,fx) n=

4、length(x);FF=ones(n,n); FF(:,1)=fx;for i=2:nfor j=i:nFF(j,i) = (FF(j,i-1)-FF(j-1,i-1)/(x(j)-x(j-i + 1); endendfor i=1:nfprintf(%4.2f,x(i); for j=1:i fprintf(%10.5f,FF(i,j); end fprintf(n);end三次样条插值程序:function sanciyangtiao(n,s,t) x=0.2 0.4 0.6 0.8 1.0;y=0.98 0.92 0.81 0.64 0.38;n=5for j=1:1:n-1h(j)=

5、x(j+1)-x(j);endfor j=2:1:n-1r(j)=h(j)/(h(j)+h(j-1);endfor j=1:1:n-1u(j)=1-r(j);endfor j=1:1:n-1f(j) = (y(j+1)-y(j)/h(j);endfor j=2:1:n-1d(j)=6*(f(j)-f(j-1)/(h(j-1)+h(j);endd(1)=0d(n)=0a=zeros(n,n);for j=1:1:na(j,j)=2;endr(1)=0;u(n)=0;for j=1:1:n-1a(j+1,j)=u(j + 1);a(j,j + 1)=r(j);endb=inv(a)m=b*dp=z

6、eros(n-1,4);for j=1:1:n-1p(j,1)=m(j)/(6*h(j);p(j,2)=m(j+1)/(6*h(j);p(j,3) = (y(j)-m(j)*(h(j)八2/6)/h(j);p(j,4) = (y(j+1)-m(j+1)*(h(j)八2/6)/h(j);end end图程序:x=0.2 0.4 0.6 0.8 1.0; y=0.98 0.92 0.81 0.64 0.38;plot(x,y) hold on for i=1:1:5y(i)=0.98-0.3*(x(i)-0.2)-0.62500*(x(i)-0.2)*(x(i)-0.4)-0.20833*(x(i

7、)-0.2)*(x(i)-0.4)*(x(i)-0.6)-0.52083*(x(i)-0.2)*(x(i)-0.4)*(x(i)-0.6)*(x(i)-0.8) endk=0 1 10 11x0=0.2+0.08火k for i=1:1:4y0(i)=0.98-0.3*(x(i)-0.2)-0.62500*(x(i)-0.2)*(x(i)-0.4)-0.20833*(x(i)-0.2)*(x(i)-0.4)*(x(i)-0.6)-0.52083*(x(i)-0.2)*(x(i)-0. 4)*(x(i)-0.6)*(x(i)-0.8)endplot( x0,y0,o,x0,y0 ) hold o

8、ny1=spline(x,y,x0)plot(x0,y1,o) hold ons=csape(x,y,variational) fnplt(s,r) hold ongtext(EyzINui6xdEQ)gtext(O-IIn) gtext(4zIAiU2aOp)(2)多项式插值程序:function C,D=longge(X,Y) n=length(X);D=zeros(n,n)D(:,1)=Y for j=2:n for k=j:nD(k,j) = (D(k,j-1)- D(k-1,j-1)/(X(k)-X(k-j+1); end endC=D(n,n);for k=(n-1):-1:1C=

9、conv(C,poly(X(k) m=length(C);C(m)= C(m)+D(k,k); end end三次样条插值程序:function S=longgesanci(X,Y,dx0,dxn)N=length(X)-1;H=diff(X);D=diff(Y)./H;A=H(2:N-1);B=2*(H(1:N-1)+H(2:N);C=H(2:N);U=6*diff(D);B(1)=B(1)-H(1)/2;U(1)=U(1)-3*(D(1);B(N-1)=B(N-1)-H(N)/2;U(N-1)=U(N-1)-3*(-D(N); for k=2:N-1temp=A(k-1)/B(k-1);B

10、(k)=B(k)-temp*C(k-1);U(k)=U(k)-temp*U(k-1); endM(N)=U(N-1)/B(N-1); for k=N-2:-1:1M(k+1) = (U(k)-C(k)*M(k+2)/B(k); endM(1)=3*(D(1)-dx0)/H(1)-M(2)/2;M(N + 1)=3*(dxn-D(N)/H(N)-M(N)/2; for k=0:N-1S(k+1,1)=(M(k+2)-M(k+1)/(6火H(k+1);S(k+1,2)=M(k+1)/2;S(k+1,3)=D(k+1)-H(k+1)*(2火M(k+1)+M(k+2)/6;S(k+1,4)=Y(k+1

11、);endend(3) 三次样条函数程序代码:function sanci3(n,s,t) y=0 1 2 3 4 5 6 7 8; x=0 1 4 9 16 25 36 49 64; n=9for j=1:1:n-1h(j)=x(j+1)-x(j);endfor j=2:1:n-1r(j)=h(j)/(h(j)+h(j-1);endfor j=1:1:n-1u(j)=1-r(j);endfor j=1:1:n-1f(j) = (y(j+1)-y(j)/h(j);endfor j=2:1:n-1d(j)=6*(f(j)-f(j-1)/(h(j-1)+h(j); endd(1)=0d(n)=0a

12、=zeros(n,n);for j=1:1:na(j,j)=2;endr(1)=0;u(n)=0;for j=1:1:n-1a(j+1,j)=u(j+1);a(j,j+1)=r(j);endb=inv(a) m=b*d t=a p=zeros(n-1,4);p(j,1)=m(j)/(6*h(j);p(j,2)=m(j+1)/(6*h(j);p(j,3) = (y(j)-m(j)*(h(j)八2/6)/h(j);p(j,4) = (y(j+1)-m(j+1)*(h(j)八2/6)/h(j);end拉格朗日插值程序:function y=lagrange(x0,y0,x) n=length(x0)

13、;m=length(x);for i=1:mz=x(i);s=0.0;for k=1:np=1.0;for j=1:n if j=k p=p*(z-x0(j)/(x0(k)-x0(j);endends=p*y0(k)+s;endy(i)=s;endend实验结果1.牛顿插值多项式结果:0.200.900000.400.92000-0.300000.600.81000-0.55000-0. 62500O.SO0.64000-0.85000-0. 75000-0. 208331.000.3S000-1.30000-1. 12500-0. 62500.52083所以有四次插值牛顿多项式为:P4(x)

14、=0.98-0.3(x-0.2)-0.62500(x-0.2)(x-0.4)-0.20833(x-0.2)(x-0.4)(x-0.6)-0.52083(x-0.2)(x-0.4)(x-0.6)(x-0.8)三次样条插值结果: sanciyangtiao-3.750000000000005-4.499999999999997-& 750000000000005-3.750000000000005-4.499999999999997-6.750000000000005Coluims 1 through 40.500000000000000-0,1339285714285710.535714285714286-0.1428571428571430.0

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号