实验报告五 上机综合练习.docx

上传人:b****2 文档编号:24440524 上传时间:2023-05-27 格式:DOCX 页数:19 大小:38.77KB
下载 相关 举报
实验报告五 上机综合练习.docx_第1页
第1页 / 共19页
实验报告五 上机综合练习.docx_第2页
第2页 / 共19页
实验报告五 上机综合练习.docx_第3页
第3页 / 共19页
实验报告五 上机综合练习.docx_第4页
第4页 / 共19页
实验报告五 上机综合练习.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

实验报告五 上机综合练习.docx

《实验报告五 上机综合练习.docx》由会员分享,可在线阅读,更多相关《实验报告五 上机综合练习.docx(19页珍藏版)》请在冰豆网上搜索。

实验报告五 上机综合练习.docx

实验报告五上机综合练习

浙江大学城市学院实验报告

课程名称科学计算

实验项目名称上机综合练习

实验成绩指导老师(签名)日期2013/11/14

一.实验目的和要求

1.用Matlab软件掌握非线性方程、线性方程组的数值解法的综合练习;

2.通过实例学习用数值计算方法去分析问题、给出算法,并对算法的误差、稳定性等作出分析。

二.实验内容和原理

编程题2-1要求写出Matlab源程序(m文件),并有适当的注释语句;分析应用题2-2要求将问题的分析过程、Matlab源程序和运行结果和结果的解释、算法的分析写在实验报告上。

2-1

考虑牛顿最早讨论过的方程

,已知该方程有一实根,两个复根。

选取合适的迭代初始值,用牛顿迭代法求出方程的实根,其中迭代终止条件为前后两次迭代值差的绝对值小于

,写出牛顿迭代法的公式和计算步骤以及结果。

2-2

试用迭代格式

求极限

(取

)。

7ww4

2-3

已知矩阵

,上机编程用得到的结果证明

1)求解以

为系数矩阵线性方程组的Jacobi迭代是收敛的,而Gauss-Seidel迭代是发散的;

2)求解以

为系数矩阵线性方程组的Gauss-Seidel迭代收敛,而Jacobi迭代则是发散的。

其中线性方程组右端向量

任意选取,迭代初始向量

为零向量,迭代终止条件为

写出运行结果,得出上述收敛性的结论,并进行分析。

 

2-4

用Doolittle分解法解线性方程组

 

三.操作方法与实验步骤(包括实验数据记录和处理)

4.实验结果与分析

2-1

functionx=NewtonMethod(x0,epsi,Nmax)

x=x0-f(x0)/df(x0);

n=1;

while(norm(x-x0)>epsi)&&(n

x0=x;

x=x0-f(x0)/df(x0);

n=n+1;

end

n

functiony=f(x)

y=x^3-2*x-5

functiony=df(x)

y=3*x^2-2

>>NewtonMethod(2,0.001,100)

y=

-1

 

y=

10

 

y=

0.0610

 

y=

11.2300

 

y=

1.8572e-004

 

y=

11.1616

 

n=

3

 

ans=

2.0946

2-2

function[p1,e,k,y]=function1(f,x0,x1,delta,epsi,Nmax)

xx

(1)=x1;

fork=1:

Nmax

x2=x1-feval(f,x1)*(x1-x0)/(feval(f,x1)-feval(f,x0));

e=abs(x2-x1);

rele=2*e/(abs(x2)+delta);

xx(k+1)=x2;

x0=x1;

x1=x2;

y=feval(f,x1);

if(e

end

xx

end

[p1,e,k,y]=function1('f',1,3,0.01,0.000005,20)

f=

2.2361

 

f=

2.2361

 

f=

1.7321

 

f=

0.0000+1.9680i

 

f=

0.0000+1.9680i

 

f=

0.0000+1.9680i

 

f=

2.2361

 

f=

1.4833-1.4833i

 

f=

1.4833-1.4833i

 

f=

1.4833-1.4833i

 

f=

0.0000+1.9680i

 

f=

0.7775-1.8772i

 

f=

0.7775-1.8772i

 

f=

0.7775-1.8772i

 

f=

1.4833-1.4833i

 

f=

1.7166+1.1470i

 

f=

1.7166+1.1470i

 

f=

1.7166+1.1470i

 

f=

0.7775-1.8772i

 

f=

0.5945+1.9599i

 

f=

0.5945+1.9599i

 

f=

0.5945+1.9599i

 

f=

1.7166+1.1470i

 

f=

1.6516-1.2249i

 

f=

1.6516-1.2249i

 

f=

1.6516-1.2249i

 

f=

0.5945+1.9599i

 

f=

0.6437-1.9486i

 

f=

0.6437-1.9486i

 

f=

0.6437-1.9486i

 

f=

1.6516-1.2249i

 

f=

1.6649+1.2034i

 

f=

1.6649+1.2034i

 

f=

1.6649+1.2034i

 

f=

0.6437-1.9486i

 

f=

0.6321+1.9535i

 

f=

0.6321+1.9535i

 

f=

0.6321+1.9535i

 

f=

1.6649+1.2034i

 

f=

1.6608-1.2082i

 

f=

1.6608-1.2082i

 

f=

1.6608-1.2082i

 

f=

0.6321+1.9535i

 

f=

0.6352-1.9528i

 

f=

0.6352-1.9528i

 

f=

0.6352-1.9528i

 

f=

1.6608-1.2082i

 

f=

1.6616+1.2068i

 

f=

1.6616+1.2068i

 

f=

1.6616+1.2068i

 

f=

0.6352-1.9528i

 

f=

0.6344+1.9531i

 

f=

0.6344+1.9531i

 

f=

0.6344+1.9531i

 

f=

1.6616+1.2068i

 

f=

1.6613-1.2071i

 

f=

1.6613-1.2071i

 

f=

1.6613-1.2071i

 

f=

0.6344+1.9531i

 

f=

0.6346-1.9530i

 

f=

0.6346-1.9530i

 

f=

0.6346-1.9530i

 

f=

1.6613-1.2071i

 

f=

1.6614+1.2070i

 

f=

1.6614+1.2070i

 

f=

1.6614+1.2070i

 

f=

0.6346-1.9530i

 

f=

0.6346+1.9531i

 

f=

0.6346+1.9531i

 

f=

0.6346+1.9531i

 

f=

1.6614+1.2070i

 

f=

1.6614-1.2071i

 

f=

1.6614-1.2071i

 

f=

1.6614-1.2071i

 

f=

0.6346+1.9531i

 

f=

0.6346-1.9531i

 

f=

0.6346-1.9531i

 

f=

0.6346-1.9531i

 

f=

1.6614-1.2071i

 

f=

1.6614+1.2071i

 

xx=

Columns1through5

3.0000-5.8730-2.0000-4.4006i-4.9192-2.9192i-0.3689+3.9378i

Columns6through10

-5.4878+2.3305i-0.7726-4.0463i-5.3828-2.5088i-0.6763+4.0070i-5.4167+2.4696i

Columns11through15

-0.7015-4.0130i-5.4100-2.4807i-0.6955+4.0105i-5.4121+2.4782i-0.6971-4.0109i

Columns16through20

-5.4116-2.4789i-0.6967+4.0107i-5.4118+2.4788i-0.6968-4.0108i-5.4117-2.4788i

Column21

-0.6968+4.0108i

 

p1=

-0.6968+4.0108i

 

e=

8.0215

 

k=

20

 

y=

1.6614+1.2071i

2-3

(1)

>>A=[12-2;111;221]

A=

12-2

111

221

>>B=[2-11;222;-1-12]

B=

2-11

222

-1-12

>>P=[0;0;0]

P=

0

0

0

>>X=Jacobimethod(A,B,P,10,0.001)

X=

-18

15

5

>>A=[2-11;222;-1-12]

A=

2-11

222

-1-12

>>B=[12-2;111;221]

B=

12-2

111

221

>>X=Jacobimethod(A,B,P,10,0.001)

X=

0.6904

-2.0410

所以

为系数矩阵线性方程组的Jacobi迭代是收敛的,而Gauss-Seidel迭代是发散的;

(2)

>>A=[2-11;222;-1-12]

A=

2-11

222

-1-12

>>b=randn(3,1)

b=

1.1892

-0.0376

0.3273

>>X=Jacobimethod(A,b,[0;0;0],0.001,100)

x=

1.0e+004*

1.9129

2.9734

0.4262

 

n=

101

 

ans=

1.0e+004*

1.9129

2.9734

0.4262

>>X=GaussSeidelmethod(A,b,[0;0;0],0.001)

x=

0.3217

-0.4434

0.1028

 

n=

12

 

ans=

0.3217

-0.4434

0.1028

所以

为系数矩阵线性方程组的Gauss-Seidel迭代收敛,而Jacobi迭代则是发散的。

2-4

functionx=Doolittle1(A,b)

n=size(A);

L=tril(A);

fori=1:

n

L(i,i)=1;

end

U=triu(A);

fori=2:

n

L(i,1)=A(i,1)/U(1,1);

end

sum=0;

fork=2:

n

forj=k:

n

fort=1:

k-1

sum=sum+L(k,t)*U(t,j);

end

U(k,j)=A(k,j)-sum;

sum=0;

end

fori=(k+1):

n

fort=1:

k-1

sum=sum+L(i,t)*U(t,k);

end

L(i,k)=(A(i,k)-sum)/U(k,k);

sum=0;

end

end

x=inv(U)*inv(L)*b;

end

 

A=[21-3;25-4;673]

A=

21-3

25-4

673

>>b=[5;12;35]

b=

5

12

35

>>Doolittle1(A,b)

ans=

3.0000

2.0000

1.0000

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

当前位置:首页 > 高等教育 > 文学

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

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