试验一插值法与数据拟合Word下载.docx

上传人:b****5 文档编号:19218854 上传时间:2023-01-04 格式:DOCX 页数:14 大小:57.53KB
下载 相关 举报
试验一插值法与数据拟合Word下载.docx_第1页
第1页 / 共14页
试验一插值法与数据拟合Word下载.docx_第2页
第2页 / 共14页
试验一插值法与数据拟合Word下载.docx_第3页
第3页 / 共14页
试验一插值法与数据拟合Word下载.docx_第4页
第4页 / 共14页
试验一插值法与数据拟合Word下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

试验一插值法与数据拟合Word下载.docx

《试验一插值法与数据拟合Word下载.docx》由会员分享,可在线阅读,更多相关《试验一插值法与数据拟合Word下载.docx(14页珍藏版)》请在冰豆网上搜索。

试验一插值法与数据拟合Word下载.docx

1.2算法描述

1.2.1牛顿插值法基本思路

给定插值点序列(

构造牛顿插值多项式

输入要计算的函数点

并计算

的值,利用牛顿插值公式,当增加一个节点时,只需在后面多计算一项,而前面的计算仍有用;

另一方面

的各项系数恰好又是各阶差商,而各阶差商可用差商公式来计算。

1.2.2牛顿插值法计算步骤

1.输入

值及(

要计算的函数点

2.对给定的

计算

的值。

3.输出

1.3牛顿插值法题目{}

1.4本题目的Matlab源程序{}

1.5程序运行结果{}

1.6总结和评价{}

例题4所求4次牛顿插值多项式曲线模拟。

x=0.4:

0.05:

1.05;

y=0.41075+1.116.*(x-0.4)+0.28.*(x-0.4).*(x-0.55)+0.19733.*(x-0.4).*(x-0.55).*(x-0.65)+0.03134.*(x-0.4).*(x-0.55).*(x-0.65).*(x-0.8);

plot(x,y,'

bo'

例题5

的4次牛顿插值模拟。

x=0.00:

0.1:

1.5;

y=1.0000+x.*(-0.00500)+x.*(x-1)./2.*(-0.00993)+0.00013./6.*(x).*(x-1).*(x-2)+0.00012./24.*x.*(x-1).*(x-2).*(x-3);

y1=cos(x);

r'

x,y1,'

b'

第二章计算实习题解答

1.Matlab程序

x=0.2:

0.08:

1.0;

y=0.98-0.3.*(x-.02)-(1.5./4).*(x-0.2).*(x-0.4)-(25./24).*(x-0.2).*(x-0.4).*(x-0.6)+(25./24).*(x-0.2).*(x-0.4).*(x-0.6).*(x-0.8);

得到的图形如图一所示。

图一第一题其牛顿插值所的的图形

问题与作业:

本程序缺点:

本程序只适合本题目,修改自变量及函数的取值,又得修改程序,能否请大家编写一个通用的牛顿插值Matlab程序,使得只需输入自变量及函数值,调用该程序即可得到结果?

例如:

编写一个基本牛顿插值函数(其变种有等距离牛顿插值函数)

functionyi=New_Int(x,y,xi)

%Newton基本插值公式,其中

%x---向量,全部的插值节点,按行输入

%y---向量,插值节点处的函数值,按行输入

%xi---标量,自变量x

%yi---xi处的函数估计值

n=length(x);

m=length(y);

ifn~=m

error('

ThelengthsofXandYmustbeequal'

);

return;

end

%计算均差表Y

Y=zeros(n);

Y(:

1)=y'

;

%Y(:

1)表示矩阵中第一列的元素

fork=1:

n-1

fori=1:

n-k

ifabs(x(i+k)-x(i))<

eps

theDATAiserror!

'

end

Y(i,k+1)=(Y(i+1,k)-Y(i,k))/(x(i+k)-x(i));

%计算Newton插值公式N(xi)

yi=0;

fori=1:

n

z=1;

fork=1:

i-1

z=z*(xi-x(k));

yi=yi+Y(1,i)*z;

2.画龙格函数

的图形的matlab代码及图形

a=-1;

b=1;

n=100;

h=(b-a)/n;

>

x=a:

h:

b;

y=1./(1+25.*x.^2);

plot(x,y,'

k'

图二龙格函数的图形

问题:

请用Lagrange多项式对龙格函数进行插值并比较函数图形。

3.平方根函数

及其8次多项式插值

对应的图形对比。

Matlab源程序:

functionL8

%平方根函数

的8次多项式插值

x=[01491625364964];

y=sqrt(x);

m=length(x);

z=zeros(1,m);

m

z(i)=Lagrange(x,y,x(i));

holdon

o'

xlabel('

x'

ylabel('

y'

plot(x,z,'

r-'

holdoff

functionyi=Lagrange(x,y,xi)

%Lagrange插值多项式,其中

%x---向量,全部的插值节点

%y---向量,插值节点处的函数值

p=zeros(1,n);

t=ones(1,n);

forj=1:

ifj~=k

ifabs(x(k)-x(j))<

t(j)=(xi-x(j))/(x(k)-x(j));

p(k)=prod(t);

yi=sum(y.*p);

习题一参考程序

1.%调用Lagrange()函数,具体参见上面给出的函数。

x=[0.20.40.60.81.0];

y=[0.980.920.810.640.38];

xx=0.2:

m=length(xx);

z=zeros(1,m);

z(i)=Lagrange(x,y,xx(i));

xx,z,'

所得计算图形如下图所示。

习题一的图形对比

2.参考程序,其中调用了Lagrange()函数

functionRunge(n)

%Runge现象

%n---等距离节点

a=-1;

b=1;

h=(b-a)/n;

x=[a:

b];

y=1./(1+25.*x.^2);

xx=[a:

0.01:

yy=1./(1+25.*xx.^2);

z(i)=Lagrange(x,y,xx(i));

plot(xx,z,'

调用Runge(10)得到的图像如下

图:

Runge(10)的图像对比

Runge(12)的图像如下:

图Runge(12)的图像对比:

Runge(20)的图像如:

图Runge(20)的图像对比

3.

(1)参考程序

y=[012345678];

xx=[0:

0.5:

64];

yy=sqrt(xx);

xx,yy,'

.'

所得图像对比如下

习题3

(1)所得到的图像对比

第三章数据拟合实验参考程序

1.先写后面可能用到的函数

functiony=phi_k(x,k)

%基函数的乘积

ifk==0

y=ones(size(x));

else

y=x.^k;

functionS=squar_least(x,y,n,w)

%数据的最小二乘拟合,其中

%x,y---数据的(x,y)坐标

%n---数据拟合的次数,缺省时n=1

%w---权值,缺省时w=1

%S---数据拟合的系数

%需要另写的函数

%phi(x)---基函数,通常为多项式1,x,x^2,...

globali;

globalj;

ifnargin<

4w=1;

3n=1;

Phi2=zeros(n+1);

fori=0:

forj=0:

n

Phi2(i+1,j+1)=sum((w.*phi_k(x,i)).*phi_k(x,j));

PhiF=zeros(n+1,1);

PhiF(i+1)=sum((w.*phi_k(x,i)).*y);

S=Phi2\PhiF;

主程序

x=-1:

0.2:

1;

S=squar_least(x,y,3)

得到

S=

0.4841

0.0000

-0.5752

-0.0000

所以,最小二乘多项式为(要求的为三次多项式,但求到的实际上为二次多项式)

其最小二乘拟合曲线和对应的散点图如下:

(与插值所得的结果不同,为什么呢?

大家思考!

画图对应的Matlab代码。

xx=-1:

0.05:

m=length(xx);

yy=zeros(1,m);

yy(i)=0.4841-0.5752.*xx(i).^2;

holdon

+'

plot(xx,yy,'

holdoff

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

当前位置:首页 > 职业教育 > 职高对口

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1