数值分析实验报告6Word文档下载推荐.docx

上传人:b****6 文档编号:20169950 上传时间:2023-01-17 格式:DOCX 页数:15 大小:44.95KB
下载 相关 举报
数值分析实验报告6Word文档下载推荐.docx_第1页
第1页 / 共15页
数值分析实验报告6Word文档下载推荐.docx_第2页
第2页 / 共15页
数值分析实验报告6Word文档下载推荐.docx_第3页
第3页 / 共15页
数值分析实验报告6Word文档下载推荐.docx_第4页
第4页 / 共15页
数值分析实验报告6Word文档下载推荐.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

数值分析实验报告6Word文档下载推荐.docx

《数值分析实验报告6Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数值分析实验报告6Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。

数值分析实验报告6Word文档下载推荐.docx

为希尔伯矩阵:

,i=1,2……n.

假设

,若取n=6,8,10,分别用雅克比迭代及SOR迭代(w=1,1.25,1.5)求解.比较计算结果

3)实验原理与理论基础:

(一)雅克比(Jacobi)迭代法算法设计:

①输入矩阵a与右端向量b及初值x(1,i);

②按公式计算得

(二)高斯――赛得尔迭代法算法设计:

1.输入矩阵a与右端向量b及初值x(1,i).

2.

(i=1,2,…,n)

(三)超松驰法算法设计:

①输入矩阵a与右端向量b及初值x(1,i)。

4)实验内容:

代码:

①雅克比(Jacobi)迭代法

function[]=yakebi(e)

%输入矩阵a与右端向量b。

fori=1:

20

a(i,i)=3;

end

fori=3:

forj=i-2

a(i,j)=-1/4;

a(j,i)=-1/4;

end

fori=2:

forj=i-1

a(i,j)=-1/2;

a(j,i)=-1/2;

b=[2.21.71.51.51.51.51.51.51.51.51.51.51.51.51.51.51.51.51.72.2];

k=1;

n=length(a);

n

x(1,i)=1;

%数组中没有第0行。

whilek>

=1

fori=1:

m=0;

%此步也可以用ifj~=i条件判定一下。

forj=1:

(i-1)

m=m+a(i,j)*x(k,j);

forj=(i+1):

x(k+1,i)=(b(i)-m)/a(i,i);

l=0;

%判定满足条件使循环停止迭代。

l=l+abs(x(k+1,i)-x(k,i));

ifl<

e

break

k=k+1;

%输出所有的x的值。

x(k+1,:

k

②高斯――赛得尔迭代法

function[]=gaoshisaideer(e)

x(1,i)=0;

p=0;

q=0;

p=p+a(i,j)*x(k+1,j);

q=q+a(i,j)*x(k,j);

x(k+1,i)=(b(i)-q-p)/a(i,i);

k

③超松驰法

function[]=caosongci(e,w)

ifw>

=2||w<

'

请重新输入w的值,w在1与2之间'

;

forj=i:

x(k+1,i)=x(k,i)+w*(b(i)-q-p)/a(i,i);

第二题:

雅克比迭代法实现的函数

functionX=p211_1_JJ(n)

Hn=GET_Hn(n);

b=GET_b(n);

temp=0;

X0=zeros(1,n);

X_old=zeros(1,n);

X_new=zeros(1,n);

disp('

NowJacobimethod!

'

);

Startwiththevectorthat(0,0,0,...)^T'

fori=1:

fork=1:

X_old=X_new;

temp=0;

forj=1:

if(j~=i)

temp=temp+Hn(i,j)*X_old(j);

end

X_new(i)=(b(i)-temp)/Hn(i,i);

X=X_new;

SOR迭代法实现的函数

functionX=p211_1_SOR(n,w)

temp01=0;

temp02=0;

NowSuccessiveOverRelaxtionmethod!

fork=1:

X_old=X_new;

temp01=0;

temp02=0;

forj=1:

if(j<

i)

temp01=temp01+Hn(i,j)*X_new(j);

if(j>

temp02=temp02+Hn(i,j)*X_old(j);

X_new(i)=w*(b(i)-temp01-temp02)/Hn(i,i)+X_old(i);

End

5)实验结果:

第一题①雅克比(Jacobi)迭代法

此时初值全取1;

>

b=[2.21.71.51.51.51.51.51.51.51.51.51.51.51.51.51.51.51.51.72.2];

yakebi(0.00001)

ans=

Columns1through9

0.97930.97870.99410.99700.99890.99950.99980.99991.0000

Columns10through18

1.00001.00001.00000.99990.99980.99950.99890.99700.9941

Columns19through20

0.97870.9793

k=

12

b=[2.51.91.51.51.51.51.51.51.51.51.51.51.51.51.51.51.51.51.92.5];

Columns1through12

1.09691.07071.02191.01031.00391.00161.00061.00031.00011.00011.00011.0001

Columns13through20

1.00031.00061.00161.00391.01031.02191.07071.0969

14

gaoshisaideer(0.00001)

0.97930.97870.99410.99700.99890.99950.99980.99991.00001.00001.00001.0000

0.99990.99980.99950.99890.99700.99410.97870.9793

14

gaoshisaideer(0.00001)

③超松驰法

caosongci(0.00001,1.5)

25

caosongci(0.00001,1.4)

19

caosongci(0.00001,1.3)

15

caosongci(0.00001,1.6)

34

caosongci(0.00001,1.7)

47

caosongci(0.00001,1.9)

150

对于雅克比迭代法,通过执行以下代码

>

p211_1_JJ(6)

p211_1_JJ(8)

p211_1_JJ(10)

可以分别得到:

NowJacobimethod!

Startwiththevectorthat(0,0,0,...)^T

2.45001.10360.62650.40600.28310.2071

2.71791.41010.85240.58090.42210.31980.24970.1995

Columns1through9

2.92901.66621.05170.74230.55540.43150.34450.28070.2325

Column10

0.1951

对于SOR迭代法,执行相对应代码

n=6,ω=1,1.25,1.5的时候

p211_1_SOR(6,1)

2.45001.10360.62650.40600.28310.2071

p211_1_SOR(6,1.25)

3.06250.23100.87040.33890.31410.2097

p211_1_SOR(6,1.5)

3.6750-1.10092.0106-0.39940.7670-0.0384

与n=8,ω=1,1.25,1.5的时候

p211_1_SOR(8,1)

p211_1_SOR(8,1.25)

3.39730.48871.08980.50620.45010.32030.25730.2042

p211_1_SOR(8,1.5)

4.0768-0.94242.2923-0.27530.92520.05780.40710.1275

与n=10,ω=1,1.25,1.5的时候

p211_1_SOR(10,1)

2.92901.66621.05170.74230.55540.43150.34450.28070.2325

0.1951

p211_1_SOR(10,1.25)

3.66120.70981.28350.66170.58070.42990.35060.28440.2363

0.1984

p211_1_SOR(10,1.5)

4.3935-0.79582.5326-0.15231.07200.15650.50500.20410.2819

0.1766

6)实验结果分析与小结:

1.在实习中,进行学习MATLAB,有助于将两者都更加的熟悉并加以充分利用。

2.此次取的b对于雅克比迭代法、高斯――赛得尔迭代法都是收敛的,对于相同的初值与右端向量明显可以看出高斯――赛得尔迭代法比雅克比迭代法快,这与理论上的分析完全一致嘛。

3.对于SOR迭代方法选择不同的松弛因子收敛次数大大不同,当松弛因子为1.1时,在同等条件下迭代最快.

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

当前位置:首页 > 考试认证 > 公务员考试

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

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