数值分析实验报告2.docx

上传人:b****1 文档编号:1016850 上传时间:2023-04-30 格式:DOCX 页数:54 大小:73.38KB
下载 相关 举报
数值分析实验报告2.docx_第1页
第1页 / 共54页
数值分析实验报告2.docx_第2页
第2页 / 共54页
数值分析实验报告2.docx_第3页
第3页 / 共54页
数值分析实验报告2.docx_第4页
第4页 / 共54页
数值分析实验报告2.docx_第5页
第5页 / 共54页
数值分析实验报告2.docx_第6页
第6页 / 共54页
数值分析实验报告2.docx_第7页
第7页 / 共54页
数值分析实验报告2.docx_第8页
第8页 / 共54页
数值分析实验报告2.docx_第9页
第9页 / 共54页
数值分析实验报告2.docx_第10页
第10页 / 共54页
数值分析实验报告2.docx_第11页
第11页 / 共54页
数值分析实验报告2.docx_第12页
第12页 / 共54页
数值分析实验报告2.docx_第13页
第13页 / 共54页
数值分析实验报告2.docx_第14页
第14页 / 共54页
数值分析实验报告2.docx_第15页
第15页 / 共54页
数值分析实验报告2.docx_第16页
第16页 / 共54页
数值分析实验报告2.docx_第17页
第17页 / 共54页
数值分析实验报告2.docx_第18页
第18页 / 共54页
数值分析实验报告2.docx_第19页
第19页 / 共54页
数值分析实验报告2.docx_第20页
第20页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数值分析实验报告2.docx

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

数值分析实验报告2.docx

数值分析实验报告2

数值分析实验报告

(第二章)

实验题目:

分别用二分法、牛顿迭代法、割线法、史蒂芬森迭代法求方程

f(x)-(?

+1)Cx-l)'=0

的根兀=1|,观察不同初始值下的收敛性,并给出结论。

问题分析:

题目有以下几点要求:

1.不同的迭代法计算根,并比较收敛性。

2.选定不同的初始值,比较收敛性。

实验原理:

各个迭代法简述

二分法:

取有根区间⑷刖的重点旳,确定新的有根区间

为也川区间长度的一版。

对压缩了的有根区间力

重复以上过程,又得到新的

有根区间

I叫"』,其区间长度为旧1力11的一半,如此反复,……,可得一系列有

根区间,区间收敛到一个点即为根。

牛顿迭代法:

不动点迭代法的一种特例,具有局部二次收敛的特性。

迭代格式为

心)

If苛"7%.

割线法:

是牛顿法的改进,具有超线性收敛的特性,收敛阶为1.618.迭代格式为

史蒂芬森迭代法:

采用不动点迭代进行预估校正。

至少是平方收敛的。

迭代格式为

X产必」

(儿-兀況

Y—Y—

片+157-2v+X

这里卩⑴可采用牛顿迭代法的迭代函数。

实验内容:

1.写出该问题的fo)函数

代码如下:

functionpy=f(x)symsk;

y=(kA2+1)*(k-1)A5;

yy=diff(y,k);

py

(1)=subs(y,k,x);

py

(2)=subs(yy,k,x);

end

2.分别写出各个迭代法的迭代函数代码如下:

二分法:

y=[t,i+1,m];

end

牛顿迭代法:

functiony=dichotomie(a,b,e)

function

i=2;

y=Newtonlterative(x,e)

m

(1)=a;

i=2;

whileabs(a-b)>e

en=2*e;

t=(a+b)/2;

m

(1)=x;

s1=f(a);

whileabs(en)>=e

s2=f(b);

s=f(x);

s3=f(t);

t=x-s

(1)/s

(2);

ifs1

(1)*s3

(1)<=0

en=t-x;

b=t;

x=t;

else

m(i)=t;

a=t;

i=i+1;

end

end

m(i)=t;

y=[x,i+1,m];

i=i+1;

end

end

牛顿割线法:

i=3;

p=Stephensonlterative(x,e)

m

(1)=x1,m

(2)=x2;

i=2;

whileabs(x2-x1)>=e

m

(2)=x;

s1=f(x1);

en=2*e;

s2=f(x2);

whileabs(en)>=e

y=fai(x);

t=x2-(x2-x1)*s2

(1)/(s2

(1)-s1(

z=fai(y);

1));

t=x-(y-x)A2/(z-2*y+x);

x1=x2;

en=t-x;

x2=t;

x=t;

m(i)=t;

m(i)=t;

i=i+1;

i=i+1;

end

end

y=[x2,i+1,m];

p=[x,i+1,m];

end

end

史蒂芬森迭代法:

3.因为妙(刘经常被使用,故可以写一个妙(刃函数。

代码如下:

functiony=fai(x)

s=f(x);

y=x-s

(1)/s

(2);

end

4.可以绘制不同的图形来比较不同迭代法的收敛性和不同初值下的收敛性。

代码如下:

clearall%相同初始值,不同迭代法下的收敛x1=dichotomie(0,3,1e-10);

x2=Newtonlterative(0,1e-10);

x3=Secant(0,2,1e-10);

x4=Stephensonlterative(0,1e-10);

[x1

(2),x2

(2),x3

(2),x4

(2)]

'二分法’);

'牛顿迭代法’);

figure,subplot(2,2,1),plot(x1(3:

x1

(2))),title(subplot(2,2,2),plot(x2(3:

x2

(2))),title(

subplot(2,2,3),plot(x3(3:

x3

(2))),title(

'牛顿割线法’);

subplot(2,2,4),plot(x4(3:

x4

(2))),title(

'史蒂芬森迭代法’);

figure,

subplot(2,2,1),plot((x1(4:

x1

(2)-1)-x1

(1))./(x1(3:

x1

(2)-2)-x1

(1))),tit

le('二分法’);

subplot(2,2,2),plot((x2(4:

x2

(2)-1)-x2

(1))./(x2(3:

x2

(2)-2)-x2

(1))),tit

le('牛顿迭代法’);

subplot(2,2,3),plot((x3(4:

x3

(2)-1)-x3

(1))./(x3(3:

x3

(2)-2)-x3

(1))),tit

le('牛顿割线法’);

subplot(2,2,4),plot((x4(4:

x4

(2)-1)-x4

(1))./(x4(3:

x4

(2)-2)-x4

(1))),tit

le('史蒂芬森迭代法’);

%不同初始值,相同迭代法下的收敛性

x5=dichotomie(-1,1,1e-10);

x6=dichotomie(-2,3,1e-10);

x7=dichotomie(0,4,1e-10);

x8=dichotomie(-4,4,1e-10);

x9=Newtonlterative(-2,1e-10);

x10=Newtonlterative(-4,1e-10);

x11=Newtonlterative(4,1e-10);

x12=Newtonlterative(6,1e-10);

figure,

subplot(1,2,1).

Plot(1:

x1

(2)-2,x1(3:

x1

(2)),1:

x5

(2)-2,x5(3:

x5

(2)),1:

x6

(2)-2,x6(3:

x6

(2)

),1:

x7

(2)-2,x7(3:

x7

(2)),1:

x8

(2)-2,x8(3:

x8

(2))),title(

'二分法’);

subplot(1,2,2).

Plot(1:

x2

(2)-2,x2(3:

x2

(2)),1:

x9

(2)-2,x9(3:

x9

(2)),1:

x10

(2)-2,x10(3:

x10

(2)),1:

x11

(2)-2,x11(3:

x11

(2)),1:

x12

(2)-2,x12(3:

x12

(2))),title(

'牛顿迭

代法’);

x13=Secant(-1,1,1e-10);x14=Secant(-4,5,1e-10);x15=Secant(0,7,1e-10);

x16=Secant(-8,2,1e-10);

x17=Stephensoniterative(-1,1e-10);

x18=Stephensoniterative(-4,1e-10);

x19=Stephensoniterative(4,1e-10);

x20=Stephensonlterative(6,1e-10);

 

figure,subplot(1,2,1).

plot(1:

x3

(2)-2,x3(3:

x3

(2)),1:

x13

(2)-2,x13(3:

x13

(2)),1:

x14

(2)-2,x14(3:

x14

(2)),1:

x15

(2)-2,x15(3:

x15

(2)),1:

x16

(2)-2,x16(3:

x16

(2))),title(

顿割线法’);

subplot(1,2,2).

Plot(1:

x4

(2)-2,x4(3:

x4

(2)),1:

x17

(2)-2,x17(3:

x17

(2)),1:

x18

(2)-2,x18(3:

x18

(2)),1:

x19

(2)-2,x19(3:

x19

(2)),1:

x20

(2)-2,x20(3:

x20

(2))),title(

帝分森迭代法’);

实验结果:

1.各个迭代值分布

牛顿迭代法

0.5

50

100

 

牛顿割线法

史蒂芬森迭代法

1.5

1

0.5

2

4

6

0

 

 

图1.1不同迭代法下的得到的迭代值

迭代值的情况如下:

二分法

牛顿迭代法

牛顿割线法

史蒂分森迭代法

0

0

0

0

1.5000000000

0.2000000000

2.

.3555555556

0.7500000000

0.3704918032

0.3333333333

0.9816165283

1.1250000000

0.5076442076

0.3807196801

0.9999460003

0.9375000000

0.6146189447

0.4982833419

0.9999999995

1.

.6973869098

0.5704996333

0.9843750000

0.7615538091

0.6393806244

1.

.8115411186

0.6942785879

0.9960937500

0.8506763857

0.7411692653

1.

.8814482123

0.7802715997

0.9990234375

0.9057297400

0.8132927871

牛顿迭代法初值选为,

当二分法的初始区间选为1163],误差限为1X10"

,史蒂芬森

误差限为1X10-牛顿割线法初始点为|{62],误差限为1X10

迭代情况如图所示。

迭代次数分别为

迭代法初始点选为卩,误差限为1X10

38次,100次,140次,9次。

故而,史蒂芬森迭代法速度最快,效果最好。

2.收敛情况

5

-10

0.8

-

0.7

■.~

'1'

1

1

1

'1

0.6

1

.1.

1

■',!

1

1

'1

J

0.5

1.

1

1

1

0.4

-

牛顿迭代法

0

-5

0

50

9

x10

010203040

二分法

100

-2

1

0.4

1

1

1-1

1

0.2

0

-0.2

-0.4

牛顿割线法

史蒂芬森迭代法

1

0

-1

3040

12345

01020

图1.2

不同迭代法下迭代值得收敛情况

 

牛顿迭代法和牛顿割线法相近,史蒂芬森迭代法收敛

二分法收敛效果较差,次数高于1,效果最好3.不同初值的收敛情况

二分法

牛顿迭代法

-4

0

'[|I'

♦h■

6

*

il

1

II

5

k

'5

s_a:

5■———•

4

—1

3

J

-

2

d

■1

1

0

f

1

1

■,1

-1

-2

-

-3

r

r

D

-4

t

1

0

-1

-2

-3

10

20

30

40

0

50

100

150

图1.3二分法,牛顿迭代法下不同初值的收敛情况

牛顿割线法

-8

0

8

6

4

2

0

-2

-4

-6

20

40

60

80

图1.4牛顿割线法,史蒂芬森迭代法下不同初值的收敛情况

 

1.二分法的五个初始区间分别为I10JJ4-IJbl-2,3]40,4],|-4/|;

2.牛顿迭代法的五个初始值分别为d-2,-4A6|;

3.牛顿割线法的五个初始区间分别为10.2M-tlhl-4,5h[07|4-&2];

4.史蒂芬森迭代法的五个初始值分别为购;

由图可知,它们最终均达到收敛。

收敛性分析及结论:

1.二分法收敛较慢且不能求解崇根,但算法简单;此处牛顿法具有了平方收敛;从迭代次数上看,牛顿割线法较牛顿法的多,所以收敛性较差,是超线性收敛;史蒂芬森迭代法收敛效果最好。

2.因为牛顿迭代法是局部的二次收敛,所以要注重初值的选取,本次实验中选

择的初值均得到了收敛,效果比较好。

牛顿割线法也应注意初值的选取。

(第三章)

实验题目:

1.区间作等距划分:

2

梵卜=~1+比血*h三—、技三0丄+・山

Zn

以也结点对函数心-

5进行插值逼近。

(1)

分别取/1=1530.2075用牛顿插值对/(X)进行逼近,并在同一坐标系下做

出函数的图形,进行比较。

写出插值函数对『(刃的逼近程度与节点个数的

关系,并分析原因;

(2)

试用三次样条插值对fd)进行逼近,在同一坐标下画出图形,观察样条插

值函数对fO)的逼近程度与节点个数的关系;

(3)

2.已知一组数据如下,求其拟合曲线.

整体插值有何局限性?

如何避免?

 

表2.1数据表

3478

106.42108.2109.5110109.93110.49110.59110.6110.76111111.2

2

求以上数据形如yWKu+s兀+切丫的拟合曲线及其平方误差;

h

(2)

(3)

求以上数据形如=G[八的拟合曲线及其平方误差;通过观察

(1)

(2)的结果,写出你对数据拟合的认识.

问题分析:

题目除上述要求之外还有以下几点:

1.明确整体插值和分段插值的不同。

牛顿插值多项式属于整体插值,三次样条插值属于低次分段插值。

2.将结果在同一坐标下绘制出。

但是为了方便分析节点个数对于插值效果的影响,也可以单独绘制。

3.第二题中为了确定各个参数的大小,可以进行适当变换,转化为线性,运用最小二乘法,得到拟合。

实验原理:

牛顿插值多项式:

对于给定的插值节点心%…5"”

构造次数

不超过n的插值多项式

=尬0+知0;-心)+幻&-丸0)0-尢1)+…+%(龙-%)(咒-勺)_

使其满足插值条件

勺)=儿=兀£)f=

tt!

这样得到的插值多项式"3

称为Mwttm插值多项式。

系数("为差商,可以通

过构造差商表得到。

三次样条插值:

三次样条插值函数S(x)在每个小区间

上为三次多

项式;在全进(乩町上存在二阶连续导数;其次符合插值条件。

Matlab

中存在内

置的三次样条插值函数,命令为卸im—

实验内容:

第一题:

1.牛顿插值函数的构造

代码如下:

function

f=Newton(xO,yO)

%牛顿多项式插值函数symsx;

SZ=size(xO,2);

a

(1)=y0

(1);

y(:

1)=y0:

forj=2:

SZ

nx1=1;

fori=1:

SZ-j+1;

nx2=nx1+j-1;

y(i,j)=(y(i,j-1)-y(i+1,j-1))/(x0(nx1)-x0(nx2));

nx1=nx1+1;

endendf=y(1,1);

forj=2:

SZ

ff=y(1,j);

fori=1:

j-1

ff=ff*(x-x0(i));

end

f=f+ff;

endend

2.牛顿和三次样条插值情况及比较:

代码如下:

clearallclc;

symsx;

fx=1/(5+x^2);

%牛顿多项式插值x0=-1:

0.01:

1;

y0=subs(fx,x0);

n1=[1,5,10,20,25];

n2=[5,55,60,62,67];

h1=2./n1;

h2=2./n2;

x1=-1:

h1

(1):

1;y1=subs(fx,x1);f仁Newton(x1,y1);y01=subs(f1,x0);

x2=-1:

h1

(2):

1;y2=subs(fx,x2);f2=Newton(x2,y2);y02=subs(f2,x0);

x3=-1:

h1(3):

1;y3=subs(fx,x3);f3=Newton(x3,y3);y03=subs(f3,x0);

x4=-1:

h1(4):

1;y4=subs(fx,x4);f4=Newton(x4,y4);y04=subs(f4,x0);

x5=-1:

h1(5):

1;y5=subs(fx,x5);f5=Newton(x5,y5);y05=subs(f5,x0);

figure,

Plot(x0,y0,x0,y01,x0,y02,x0,y03,x0,y04,x0,y05),title(

'所有结果’);

x6=-1:

h2

(1):

1;y6=subs(fx,x6);f6=Newton(x6,y6);y06=subs(f6,x0);

x7=-1:

h2

(2):

1;y7=subs(fx,x7);f7=Newton(x7,y7);y07=subs(f7,x0);

x8=-1:

h2(3):

1;y8=subs(fx,x8);f8=Newton(x8,y8);y08=subs(f8,x0);

x9=-1:

h2(4):

1;y9=subs(fx,x9);f9=Newton(x9,y9);y09=subs(f9,x0);

x10=-1:

h2(5):

1;y10=subs(fx,x10);f10=Newton(x10,y10);

y010=subs(f10,x0);

figure,

Plot(x0,y0,x0,y06,x0,y07,x0,y08,x0,y09,x0,y010),title(

'龙格现象’);

%三次样条插值spline自带命令

x0=-5:

0.01:

5;

y0=subs(fx,x0);

figure,

subplot(2,3,1),plot(x0,y0),title(

'精确图’);

y11=spline(x1,y1,x0);subplot(2,3,2),plot(x0,y11),title(

'n=1'

);

y12=spline(x2,y2,x0);subplot(2,3,3),plot(x0,y12),title(

'n=5'

);

y13=spline(x3,y3,x0);subplot(2,3,4),plot(x0,y13),title(

'n=10'

);

y14=spline(x4,y4,x0);subplot(2,3,5),plot(x0,y14),title(

'n=20'

);

y15=spline(x5,y5,x0);subplot(2,3,6),plot(x0,y15),title(

'n=25'

);

figure,

'所有结果’);

Plot(x0,y0,x0,y11,x0,y12,x0,y13,x0,y14,x0,y15),title(

第二题:

代码如下:

clearall;clc;

x=[23478101114161819];

y=[106.42108.2109.5110109.93110.49110.59110.6110.76111111.2];

%Agenda1

A=[(x.*x)'x'ones(11,1)];

A1=A'*A;

y1=A'*y:

c1=A1\y1x1=2:

0.1:

19;

y1=poIyval(c1,x1);

plot(x,y.

'k*'

x1,y1,'r'),gtext('曲线一'),holdon

y01=polyval(c1,x);

deIta1_2=sum((y-y01)A2)%Agenda2xx=-1./x;

yy=log(y);

B=[ones(11,1)xx'];

B1=B'*B;

yy1=B'*yy:

c2=B1\yy1;

symss;

a=exp(c2

(1));b=c2

(2);

[ab]f=a*exp(-b/s);

x2=x1;

y2=subs(f,x2);

plot(x2,y2.

'b'),gtext('曲线二’);

y02=subs(f,x);

delta2_2=sum((y-y02)A2)

实验结果:

第一题:

1.牛顿插值结果

所有结果

图2.1不同节点数的牛顿插值多项式综合图

龙格现象

图2.2龙格现象

 

由图可知,

2.三次样条插值结果

精确图

0.2

0-5

n=1

0.15

0.1

0.05

0

5

-5

0

5

0.8

05

n=5

0.6

0.4

0.2

0

5

0

-5

0.8

0.8

0.6

0.6

--

0.4

0.4

■■

1

0.2

0

1I

0.2

0

?

!

n=10

n=20

n=25

0.8

0.6

0.4

0.2

0

5

-5

0

5

-5

0

5

图2.3不同节点下的三次样条插值结果

 

图2.4不同节点数的三次样条的综合图

由图可知,牛顿插值多项式在《较小的时候如(5.1070.25]差值效果良好,当

卩变大时如160,62,65/67,100,200}就出现了龙格现象,三次样条在各个子区间内为三次多项式,拟合效果好.

第二题

1.第一问的多项式拟合得到的拟合曲线为

y(x)=106.2927+0.6264艾-0.0205xf

平方误差为坷=2.7796第二问的拟合曲线为

0.0003

V

y(x)=llL4940e

平方误差为

6^=0.47192.拟合曲线如图所示

112

L

11LL

1t

I

曲线一

+■

七L■

*

-

曲线二

-

-'

1

1

-

=-

r

rfrr

rc

r

111

110

109

108

107

8101214161820

106

246

112

111

+■

七一

*7

110

109

108

107

曲线一

8101214161820

图2.5拟合情况

从图中可以看出曲线二大体符合黑点的分布情况,拟合效果较好。

 

结论:

整体插值随着节点个数的增多,多项式的次数也在升高。

高次多项式的插值会出现龙格现象,震荡剧烈,逼近效果不理想。

但是当节点很多时,低次插值的精度又不够,所以为了避免这一局限性采用分段低次插值。

其中三次样条插值有良好的收敛性和光滑性,效果较好。

数据

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

当前位置:首页 > 人文社科 > 法律资料

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

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