数值分析上机报告.docx

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

数值分析上机报告.docx

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

数值分析上机报告.docx

数值分析上机报告

 

数值分析上机报告

 

第一章

一、题目

精确值为

1)编制按从大到小的顺序

,计算SN的通用程序。

2)编制按从小到大的顺序

,计算SN的通用程序。

3)按两种顺序分别计算

并指出有效位数。

(编制程序时用单精度)

4)通过本次上机题,你明白了什么?

二、通用程序

clear

N=input('PleaseInputanN(N>1):

');

AccurateValue=single((0-1/(N+1)-1/N+3/2)/2);

Sn1=single(0);

fora=2:

N;

Sn1=Sn1+1/(a^2-1);

end

Sn2=single(0);

fora=2:

N;

Sn2=Sn2+1/((N-a+2)^2-1);

end

fprintf('ThevalueofSnusingdifferentalgorithms(N=%d)\n',N);

disp('____________________________________________________')

fprintf('AccurateCalculation%f\n',AccurateValue);

fprintf('Caculatefromlargetosmall%f\n',Sn1);

fprintf('Caculatefromsmalltolarge%f\n',Sn2);

disp('____________________________________________________')

 

三、求解结果

PleaseInputanN(N>1):

10^2

ThevalueofSnusingdifferentalgorithms(N=100)

____________________________________________________

AccurateCalculation0.740049

Caculatefromlargetosmall0.740049

Caculatefromsmalltolarge0.740050

____________________________________________________

PleaseInputanN(N>1):

10^4

ThevalueofSnusingdifferentalgorithms(N=10000)

____________________________________________________

AccurateCalculation0.749900

Caculatefromlargetosmall0.749852

Caculatefromsmalltolarge0.749900

____________________________________________________

PleaseInputanN(N>1):

10^6

ThevalueofSnusingdifferentalgorithms(N=1000000)

____________________________________________________

AccurateCalculation0.749999

Caculatefromlargetosmall0.749852

Caculatefromsmalltolarge0.749999

____________________________________________________

 

四、结果分析

有效位数

n

顺序

100

10000

1000000

从大到小

6

3

3

从小到大

5

6

6

可以得出,算法对误差的传播又一定的影响,在计算时选一种好的算法可以使结果更为精确。

从以上的结果可以看到从大到小的顺序导致大数吃小数的现象,容易产生较大的误差,求和运算从小数到大数算所得到的结果才比较准确。

 

第二章

一、题目

(1)给定初值

及容许误差

,编制牛顿法解方程f(x)=0的通用程序。

(2)给定方程

易知其有三个根

a)由牛顿方法的局部收敛性可知存在

时,Newton迭代序列收敛于根x2*。

试确定尽可能大的

b)试取若干初始值,观察当

时Newton序列的收敛性以及收敛于哪一个根。

(3)通过本上机题,你明白了什么?

二、通用程序

文件search.m

%%寻找最大的delta值%%

clear

%%

flag=1;

k=1;

x0=0;

whileflag==1

delta=k*10^-6;

x0=delta;

k=k+1;

m=0;

flag1=1;

whileflag1==1&&m<=10^3

x1=x0-fx(x0)/dfx(x0);

ifabs(x1-x0)<10^-6flag1=0;

end

m=m+1;

x0=x1;

end

ifflag1==1||abs(x0)>=10^-6flag=0;

end

end

fprintf('Themaximundeltais%f\n',delta);

文件fx.m

%%定义函数f(x)

functionFx=fx(x)

Fx=x^3/3-x;

文件dfx.m

%%定义导函数df(x)

functionFx=dfx(x)

Fx=x^2-1;

文件Newton.m

%%Newton法求方程的根%%

clear

%%

ef=10^-6;%给定容许误差10^-6

k=0;

x0=input('PleaseinputinitialvalueXo:

');

disp('kXk');

fprintf('0%f\n',x0);

flag=1;

whileflag==1&&k<=10^3

x1=x0-fx(x0)/dfx(x0);

ifabs(x1-x0)

flag=0;

end

k=k+1;

x0=x1;

fprintf('%d%f\n',k,x0);

end

 

三、求解结果

1.运行search.m文件

结果为:

Themaximumdeltais0.774597

即得最大的δ为0.774597,Newton迭代序列收敛于根

=0的最大区间为(-0.774597,0.774597)。

2.运行Newton.m文件

在区间

上各输入若干个数,计算结果如下:

区间

上取-1000,-100,-50,-30,-10,-8,-7,-5,-3,-1.5

13-1.732051

PleaseinputinitialvalueXo:

-30

kXk

0-30.000000

1-20.022247

2-13.381544

3-8.971129

4-6.056000

5-4.150503

6-2.937524

7-2.215046

8-1.854714

9-1.743236

10-1.732158

11-1.732051

12-1.732051

PleaseinputinitialvalueXo:

-10

kXk

0-10.000000

1-6.734007

2-4.590570

3-3.212840

4-2.371653

5-1.922981

6-1.757175

7-1.732580

8-1.732051

9-1.732051

PleaseinputinitialvalueXo:

-10000

kXk

0-10000.000000

1-6666.666733

2-4444.444589

3-2962.963209

4-1975.309031

5-1316.873025

6-877.915856

7-585.277997

8-390.186470

9-260.126022

10-173.419911

11-115.617118

12-77.083845

13-51.397880

14-34.278229

15-22.871618

16-15.276949

17-10.228459

18-6.884780

19-4.688772

20-3.274807

21-2.407714

22-1.939750

23-1.761259

24-1.732762

25-1.732051

26-1.732051

PleaseinputinitialvalueXo:

-100

kXk

0-100.000000

1-66.673334

2-44.458891

3-29.654263

4-19.792016

5-13.228447

6-8.869651

7-5.989231

8-4.107324

9-2.910755

10-2.200189

11-1.848687

12-1.742235

13-1.732139

14-1.732051

15-1.732051

PleaseinputinitialvalueXo:

-50

kXk

0-50.000000

1-33.346672

2-22.251125

3-14.864105

4-9.954458

5-6.703960

6-4.571013

7-3.200520

8-2.364515

9-1.919703

10-1.756405

11-1.732548

12-1.732051

PleaseinputinitialvalueXo:

-3

kXk

0-3.000000

1-2.250000

2-1.869231

3-1.745810

4-1.732212

5-1.732051

6-1.732051

PleaseinputinitialvalueXo:

-1.5

kXk

0-1.500000

1-1.800000

2-1.735714

3-1.732062

4-1.732051

5-1.732051

PleaseinputinitialvalueXo:

-8

kXk

0-8.000000

1-5.417989

2-3.739379

3-2.684934

4-2.078246

5-1.802928

6-1.736023

7-1.732064

8-1.732051

9-1.732051

PleaseinputinitialvalueXo:

-7

kXk

0-7.000000

1-4.763889

2-3.322318

3-2.435533

4-1.952915

5-1.764630

6-1.732931

7-1.732051

8-1.732051

PleaseinputinitialvalueXo:

-5

kXk

0-5.000000

1-3.472222

2-2.524180

3-1.996068

4-1.776618

5-1.733674

6-1.732053

7-1.732051

8-1.732051

结果显示,以上初值迭代序列均收敛于-1.732051,即根

在区间

即区间(-1,-0.774597)上取-0.774598,-0.8,-0.85,-0.9,-0.99,计算结果如下:

PleaseinputinitialvalueXo:

-0.774598

kXk

0-0.774598

10.774605

2-0.774645

30.774884

4-0.776324

50.785049

6-0.840641

71.350187

81.993830

91.775963

101.733628

111.732053

121.732051

131.732051

PleaseinputinitialvalueXo:

-0.8

kXk

0-0.800000

10.948148

2-5.625370

3-3.872625

4-2.766197

5-2.121367

6-1.818292

7-1.737822

8-1.732079

9-1.732051

10-1.732051

PleaseinputinitialvalueXo:

0.85

kXk

00.850000

1-1.475375

2-1.819444

3-1.737969

4-1.732081

5-1.732051

6-1.732051

PleaseinputinitialvalueXo:

-0.9

kXk

0-0.900000

12.557895

22.012915

31.781662

41.734049

51.732054

61.732051

71.732051

PleaseinputinitialvalueXo:

-0.99

kXk

0-0.990000

132.505829

221.691081

314.491521

49.707238

56.540906

64.464966

73.133840

82.326075

91.902303

101.752478

111.732403

121.732051

131.732051

计算结果显示,迭代序列局部收敛于-1.732051,即根

,局部收敛于1.730251,即根

在区间

即区间(-0.774597,0.774597)上,由search.m的运行过程表明,在整个区间上均收敛于0,即根

PleaseinputinitialvalueXo:

0.774598

kXk

00.774598

1-0.774605

20.774645

3-0.774884

40.776324

5-0.785049

60.840641

7-1.350187

8-1.993830

9-1.775963

10-1.733628

11-1.732053

12-1.732051

13-1.732051

PleaseinputinitialvalueXo:

0.8

kXk

00.800000

1-0.948148

25.625370

33.872625

42.766197

52.121367

61.818292

71.737822

81.732079

91.732051

101.732051

PleaseinputinitialvalueXo:

0.85

kXk

00.850000

1-1.475375

2-1.819444

3-1.737969

4-1.732081

5-1.732051

6-1.732051

PleaseinputinitialvalueXo:

0.9

kXk

00.900000

1-2.557895

2-2.012915

3-1.781662

4-1.734049

5-1.732054

6-1.732051

7-1.732051

PleaseinputinitialvalueXo:

0.99

kXk

00.990000

1-32.505829

2-21.691081

3-14.491521

4-9.707238

5-6.540906

6-4.464966

7-3.133840

8-2.326075

9-1.902303

10-1.752478

11-1.732403

12-1.732051

13-1.732051

在区间

即区间(0.774597,1)上取0.774598,0.8,0.85,0.9,0.99,计算结果如下:

计算结果显示,迭代序列局部收敛于-1.732051,即根

,局部收敛于1.730251,即根

 

PleaseinputinitialvalueXo:

4

kXk

04.000000

12.844444

22.163724

31.834281

41.740007

51.732105

61.732051

71.732051

PleaseinputinitialvalueXo:

3

kXk

03.000000

12.250000

21.869231

31.745810

41.732212

51.732051

61.732051

PleaseinputinitialvalueXo:

1.5

kXk

01.500000

11.800000

21.735714

31.732062

41.732051

51.732051

区间

上取100,60,20,10,7,6,4,3,1.5,计算结果如下:

62.213605

71.854126

81.743136

91.732156

101.732051

111.732051

PleaseinputinitialvalueXo:

10

kXk

010.000000

16.734007

24.590570

33.212840

42.371653

51.922981

61.757175

71.732580

81.732051

91.732051

PleaseinputinitialvalueXo:

7

kXk

07.000000

14.763889

23.322318

32.435533

41.952915

51.764630

61.732931

71.732051

81.732051

PleaseinputinitialvalueXo:

6

kXk

06.000000

14.114286

22.915068

32.202578

41.849650

51.742392

61.732142

71.732051

81.732051

PleaseinputinitialvalueXo:

100

kXk

0100.000000

166.673334

244.458891

329.654263

419.792016

513.228447

68.869651

75.989231

84.107324

92.910755

102.200189

111.848687

121.742235

131.732139

141.732051

151.732051

PleaseinputinitialvalueXo:

60

kXk

060.000000

140.011114

226.690749

317.818845

411.916762

58.000848

65.418546

73.739736

82.685151

92.078360

101.802967

111.736027

121.732064

131.732051

141.732051

PleaseinputinitialvalueXo:

20

kXk

020.000000

113.366750

28.961323

36.049547

44.146328

]

结果显示,以上初值迭代序列均收敛于1.732051,即根

综上所述:

(-∞,-1)区间收敛于-1.73205,(-1,δ)区间局部收敛于1.73205,局部收敛于-1.73205,(-δ,δ)区间收敛于0,(δ,1)区间类似于(-1,δ)区间,(1,∞)收敛于1.73205。

通过本上机题,明白了对于多根方程,Newton法求方程根时,迭代序列收敛于某一个根有一定的区间限制,在一个区间上,可能会局部收敛于不同的根。

 

第三章

一、题目

列主元Gauss消去法对于某电路的分析,归结为求解线性方程组

其中

(1)编制解n阶线性方程组

的列主元高斯消去法的通用程序;

(2)用所编程序线性方程组

,并打印出解向量,保留5位有效数;

二、通用程序

%%列主元Gauss消去法求解线性方程组%%

%%参数输入

n=input('PleaseinputtheorderofmatrixA:

n=');%输入线性方程组阶数n

b=zeros(1,n);

A=input('InputmatrixA(suchasa2ordermatrix:

[12;3,4]):

');

b(1,:

)=input('Inputthecolumnvectorb:

');%输入行向量b

b=b';C=[A,b];%得到增广矩阵

%%列主元消去得上三角矩阵

fori=1:

n-1[maximum,index]=max(abs(C(i:

n,i)));

index=index+i-1;

T=C(index,:

);

C(index,:

)=C(i,:

);

C(i,:

)=T;

fork=i+1:

n%%列主元消去

ifC(k,i)~=0

C(k,:

)=C(k,:

)-C(k,i)/C(i,i)*C(i,:

);

end

end

end

%%回代求解%%

x=zeros(n,1);

x(n)=C(n,n+1)/C(n,n);

fori=n-1:

-1:

1

x(i)=(C(i,n+1)-C(i,i+1:

n)*x(i+1:

n,1))/C(i,i);

end

A=C(1:

n,1:

n);%消元后得到的上三角矩阵

disp('Theupperteianguularmatrixis:

')

fork=1:

n

fprintf('%f',A(k,:

));

fprintf('\n');

end

disp('Solutionoftheequations:

');

fprintf('%.5g\n',x);%以5位有效数字输出结果

PleaseinputtheorderofmatrixA:

n=4

InputmatrixA(suchasa2ordermatrix:

[12;3,4])[121-2

253-2

-2-235

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

当前位置:首页 > 自然科学 > 物理

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

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