数值分析报告六.docx

上传人:b****2 文档编号:1580624 上传时间:2023-05-01 格式:DOCX 页数:9 大小:118.33KB
下载 相关 举报
数值分析报告六.docx_第1页
第1页 / 共9页
数值分析报告六.docx_第2页
第2页 / 共9页
数值分析报告六.docx_第3页
第3页 / 共9页
数值分析报告六.docx_第4页
第4页 / 共9页
数值分析报告六.docx_第5页
第5页 / 共9页
数值分析报告六.docx_第6页
第6页 / 共9页
数值分析报告六.docx_第7页
第7页 / 共9页
数值分析报告六.docx_第8页
第8页 / 共9页
数值分析报告六.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数值分析报告六.docx

《数值分析报告六.docx》由会员分享,可在线阅读,更多相关《数值分析报告六.docx(9页珍藏版)》请在冰点文库上搜索。

数值分析报告六.docx

数值分析报告六

实验报告

 

课程名称:

数值分析

姓名:

xxx

学号:

xxxxxx

任课老师:

xxx

 

实验一:

插值法的应用

实验名称:

牛顿插值法和样条差值

实验目的与要求:

学会使用牛顿插值法和样条差值法

实验内容:

1.已知函数在下列各点的值为

0.2

0.4

0.6

0.8

1.0

f(

0.98

0.92

0.81

0.64

0.38

试用4次牛顿插值多项式

及三次样条函数S(x)对数据进行插值。

用图给出{(

),

==0.2+0.08i,i=0,1,11,10},

及S(x)。

2.在区间[-1,1]上分别取用两组等距节点对龙格函数f(x)=

)做多项式及三次样条差值,对每个n值,分别画出差值函数及f(x)的函数.

实验环境与器材:

9#505一人一机

实验过程(步骤)或程序代码:

第一题:

程序:

牛顿插值程序:

functionL=Newton(a,b,a0)

symsx

n=length(a);

L=b

(1);

b1=0;

l=1;

fori=1:

n-1

forj=i+1:

n

b1(j)=(b(j)-b(i))/(a(j)-a(i))

end

c(i)=b1(i+1);

l=l*(x-a(i));

L=L+c(i)*l;

simplify(L);

b=b1;

end

if(i==n-1)

if(nargin==3)

L=subs(L,'x',a0);

else

L=collect(L);

L=vpa(L,6);

end

end

a=[0.20.40.60.81.0];

b=[0.980.920.810.640.38];

a0=[0.20.281.081.0]

L=Newton(a,b,a0)

L=Newton(a,b)

b0=interp1(a,b,a0,'spline')

plot(a0,b0,'-ro')

 

图像:

 

三次样条函数S(x)插值程序为:

a=[0.20.40.60.81.0];

b=[0.980.920.810.640.38];

a0=[0.20.281.081.0]

b0=interp1(a,b,a0,'spline')

plot(a,b,'rs',a0,b0)

图像:

y

x

 

第二题程序:

Lagrange多项式插值程序为:

functionL=lagrange(a,b,a0)

symsx

n=length(a)

L=0.0

fori=1:

n

l=b(i);

forj=1:

i-1

l=l.*(x-a(j))/(a(i)-a(j));

end

forj=i+1:

n

l=l.*(x-a(j))/(a(i)-a(j));

end

L=L+l;

simplify(L);

end

L=collect(L)

L=vpa(L,6)

L=subs(L,'x',a0);

end

clearall

subplot(1,2,1);

a=linspace(-1,1,10);

b=1./(1+25.*a.^2);

L=Lagrange(a,b)

b0=subs(L,'x',a);

plot(a,b0,'rs')

holdon

plot(a,b)

title('n=10时的插值函数');

subplot(1,2,2);

a=linspace(-1,1,20);

b=1./(1+25.*a.^2);

L=Lagrange(a,b)

b0=subs(L,'x',a);

plot(a,b0,'rs');

holdon;

plot(a,b)

title('n=20时的插值函数');

图像:

y

x

三次样条插值函数插值程序:

subplot(1,2,1);

a=linspace(-1,1,5);

b=1./(1+25.*a.^2);

a0=linspace(-1,1,10);

b0=spline(a,b,a0);

plot(a,b,'rs',a0,b0)

holdon

plot(a,b,'G')

title('n=10时的插值函数');

subplot(1,2,2);

a=linspace(-1,1,5);

b=1./(1+25.*a.^2);

a0=linspace(-1,1,20);

b0=spline(a,b,a0);

plot(a,b,'rs',a0,b0)

holdon

plot(a,b,'G')

title('n=10时的插值函数');

图像:

 

y

x

实验结果与分析:

第一题结果:

L=0.833333*x^3-0.520833*x^4-1.10417*x^2+0.191667*x+0.98

b0=0.98000.96170.24300.3800

 

成绩:

教师签名:

月日

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2