分段线性插值Word格式文档下载.docx

上传人:b****5 文档编号:19103367 上传时间:2023-01-03 格式:DOCX 页数:17 大小:104.86KB
下载 相关 举报
分段线性插值Word格式文档下载.docx_第1页
第1页 / 共17页
分段线性插值Word格式文档下载.docx_第2页
第2页 / 共17页
分段线性插值Word格式文档下载.docx_第3页
第3页 / 共17页
分段线性插值Word格式文档下载.docx_第4页
第4页 / 共17页
分段线性插值Word格式文档下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

分段线性插值Word格式文档下载.docx

《分段线性插值Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《分段线性插值Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。

分段线性插值Word格式文档下载.docx

需要解决的问题:

1、由已知数据节点编写分段线形插值函数,从而能由所编函数得到非节点的函数值。

2、比较用不同节点数所得插值函数与真实函数的误差,从而得出节点数与插值效果的关系

二、理论基础

所谓分段线性插值就是通过插值点用折线段连接起来逼近f(x)。

设已知节点a=x0<

x1<

…<

xn=b上的函数值f0,f1,…,fn,求一折线函数满足:

1o

2o

3o

在每个小区间[xk,xk+1]上是线性函数。

则称

为分段线性插值函数。

模型一:

由定义可知

在每个小区间[xk,xk+1]上可表示为

=

模型二:

首先确定间隔序列k,使得:

第二个量是局部变量s,其定义为:

最后一个量是一阶均差

则插值基函数可表示为

.

三、实验内容

1、模型一:

用MATLAB分别建立m文件:

(1)原函数fd1.m

(2)分段线性插值函数fd2.m

(3)比较不同节点数所得分段线性插值函数的插值效果fd3.m

2、选取插值节点数为偶数

在MATLAB窗口中执行:

fd3n=2的数据见附录,图像如下:

n=8的图如下:

n=20的图

3、模型二:

用MATLAB分别建立m文件:

(1)分段插值函数fd22

(2)插值效果比较函数fd32(选取插值节点数为奇数)

程序代码(参见附录)

fd32

得下图:

上图为不同节点数插值函数图像与原函数图像,下图为误差图像

3、由上所有的图可看出,由于原函数是偶函数,等距节点所得插值函数有很强对称性,下任取节点,

编写程序fd33.m,得图

4、比较不同节点所得插值函数与被插函数误差的平方和,程序模板为d1.m

得下图:

红星由fd32得奇数节点误差平方和,绿星加圈由fd3得偶数节点误差平方和,圈由f33得随机节点误差平方和,数据见附录

四、结果分析

1、不同插值节点数所得的分段线形插值函数,在节点处与原函数的函数值一定相同

2、所得的分段线形插值函数在原函数斜率绝对值变化大的地方,与原函数的误差比较大

3、由误差平方和e,插值节点个数越多,e有减小的趋势,最后趋于0。

单考虑奇数或偶数个节点,则随节点数增加e严格减小。

4、随机生成的节点不如等距节点使插值效果好。

五、结论

插值节点个数越多,分段线形插值函数与原函数误差平方和有减小趋势,插值效果越好。

六、参考文献

《数值分析与实验》薛毅编著北京工业大学出版社

附录

代码如下:

%fd1.m线性插值原函数

functiony=fd1(x)

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

%fd2.m分段线性插值函数

functionyi=fd2(x,y,xi)

n=length(x);

m=length(y);

ifn~=m

error('

X和Y向量的长度必须相同'

);

return;

end

fork=1:

n-1

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

eps%x(k)-x(k+1)的绝对值必须大于e

数据有误'

ifx(k)<

=xi&

xi<

=x(k+1)%保证x(k)<

xi<

x(k+1)

temp=x(k)-x(k+1);

yi=(xi-x(k+1))/temp*y(k)+(xi-x(k))/(-temp)*y(k+1)

%fd3.m比较插值效果

a=-5;

b=5;

n=input('

请输入分端节点数:

'

ifn<

=0

你输入的数据有误!

break;

h=(b-a)/(n-1);

%求节点

x=a:

h:

b;

y=fd1(x);

xx=a:

0.1:

%用分段线性插值函数求非节点函数值

yyi=fd1(xx);

m1=length(xx);

z=zeros(1,m1);

fork1=1:

m1

z(k1)=fd2(x,y,xx(k1));

w=z-yyi;

%计算误差

subplot(2,1,1);

plot(x,y,'

o'

xx,yyi,'

-'

x,y,'

k:

%插值图像

xlabel('

x'

ylabel('

y'

title('

原函数(实线)-插值函数(虚线)'

holdon

subplot(2,1,2);

plot(xx,w,'

%误差的图像

R(x)'

误差分析'

xx=xx'

;

yyi=yyi'

z=z'

w=w'

%fd22.m分段线性插值函数

functionv=fd22(x,y,u)

delta=diff(y)./diff(x);

k=ones(size(u));

forj=2:

k(x(j)<

=u)=j;

s=u-x(k);

v=y(k)+s.*delta(k);

✧%fd32.m同时画不同节点的插值函数图像和误差图像

clear

close

t=[-5:

0.01:

5];

a=['

k'

'

g'

r'

c'

m'

];

fori=1:

5

n=2*i+1;

x=linspace(-5,5,n);

%把区间[-55]分为(n-1)份,算插值节点

p=fd22(x,y,t);

p=p'

%计算以(x,y)为插值点的插值函数在t处的各个值

y1=fd1(t);

y1=y1'

e=p-y1;

%计算误差

plot(x,y,a(i));

holdon;

%画出插值函数图像及误差图像

plot(t,e,a(i));

end

legend('

n=3'

'

n=5'

n=7'

n=9'

n=11'

fplot(@fd1,[-55],'

%画出原函数图像

holdoff

%fd33.m插值节点非等分区间获得

x=[-5rand(1,n-2)*10-55];

%得(-5,5)上的n维随机向量

x=sort(x);

%fd1.m比较不同节点数误差平方和

a=[];

b=[];

10

n=2*i;

%n=2*i+1则是奇数节点

x=linspace(-5,5,n)

e=e*e'

a=[ae];

b=[bn];

plot(b,a,'

go'

n节点数'

e误差平方和'

n=2的数据:

X

Y

YI(原函数)

W

-5.0000

0.0385

-4.9000

0.0400

0.0577

-0.0177

-4.8000

0.0416

0.0769

-0.0353

-4.7000

0.0433

0.0962

-0.0528

-4.6000

0.0451

0.1154

-0.0703

-4.5000

0.0471

0.1346

-0.0876

-4.4000

0.0491

0.1538

-0.1047

-4.3000

0.0513

0.1731

-0.1218

-4.2000

0.0536

0.1923

-0.1387

-4.1000

0.0561

0.2115

-0.1554

-4.0000

0.0588

0.2308

-0.1719

-3.9000

0.0617

0.2500

-0.1883

-3.8000

0.0648

0.2692

-0.2045

-3.7000

0.0681

0.2885

-0.2204

-3.6000

0.0716

0.3077

-0.2361

-3.5000

0.0755

0.3269

-0.2515

-3.4000

0.0796

0.3462

-0.2665

-3.3000

0.0841

0.3654

-0.2813

-3.2000

0.0890

0.3846

-0.2956

-3.1000

0.0943

0.4038

-0.3096

-3.0000

0.1000

0.4231

-0.3231

-2.9000

0.1063

0.4423

-0.336

-2.8000

0.1131

0.4615

-0.3484

-2.7000

0.1206

0.4808

-0.3601

-2.6000

0.1289

0.5000

-0.3711

-2.5000

0.1379

0.5192

-0.3813

-2.4000

0.1479

0.5385

-0.3905

-2.3000

0.1590

0.5577

-0.3987

-2.2000

0.1712

0.5769

-0.4057

-2.1000

0.1848

0.5962

-0.4113

-2.0000

0.2000

0.6154

-0.4154

-1.9000

0.2169

0.6346

-0.4177

-1.8000

0.2358

0.6538

-0.418

-1.7000

0.2571

0.6731

-0.416

-1.6000

0.2809

0.6923

-0.4114

-1.5000

0.7115

-0.4038

-1.4000

0.3378

0.7308

-0.3929

-1.3000

0.3717

0.7500

-0.3783

-1.2000

0.4098

0.7692

-0.3594

-1.1000

0.4525

0.7885

-1.0000

0.8077

-0.3077

-0.9000

0.5525

0.8269

-0.2744

-0.8000

0.6098

0.8462

-0.2364

-0.7000

0.6711

0.8654

-0.1942

-0.6000

0.7353

0.8846

-0.1493

-0.5000

0.8000

0.9038

-0.1038

-0.4000

0.8621

0.9231

-0.061

-0.3000

0.9174

0.9423

-0.0249

-0.2000

0.9615

-0.1000

0.9901

0.9808

0.0093

1.0000

0.3000

0.4000

0.6000

0.7000

0.9000

1.1000

1.2000

1.3000

1.4000

1.5000

1.6000

1.7000

1.8000

1.9000

2.0000

2.1000

2.2000

2.3000

2.4000

2.5000

2.6000

2.7000

2.8000

2.9000

3.0000

3.1000

3.2000

3.3000

3.4000

3.5000

3.6000

3.7000

3.8000

3.9000

4.0000

4.1000

4.2000

4.3000

4.4000

4.5000

4.6000

4.7000

4.8000

4.9000

5.0000

n

2

3

4

6

7

误差平方和

136.9209

79.1689

63.334

6.9775

23.7384

0.8329

8

9

10

11

12

13

14

9.0015

0.5726

3.6152

0.572

1.5676

0.4648

0.7472

15

16

17

18

19

20

21

0.3366

0.3945

0.2327

0.2291

0.1593

0.1438

0.1101

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

当前位置:首页 > 求职职场 > 简历

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

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