关键词不能为空

当前您在: 主页 > 英语 >

线性方程组迭代解法

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2020-10-25 22:13
tags:9970

灰心丧气的意思-中翻日文

2020年10月25日发(作者:范如宽)


-
实验六:线性方程组迭代解法


1)实验目的
? 熟悉Matlab编程;
? 学习线性方程组迭代解法的程序设计算法
2)实验题目
1.研究解线性方程组Ax=b迭代法收敛速度。A为20阶五对角距阵
?
?
3
?
1
?
?
?
2
?
?
1
?
4
A?
?
?
?
?
?
?
??
?
?
1
2
3
1
2
?
1?
4
?
1
4
1
?
2
?
3?
1
?
2
1
?
4
1
4
1?
2
?
?
3
1
2
1
?
4?
1
4
?
1
?
2
?
3
?1
2
?
?
?
?
?
?
?
??

1
?
?
?
4
?
1
??
?
2
?
3
?
?
要求:
(1)选取不同的初始向量x
0
及右端向量b,给定迭代误差要求,用雅可比迭代和 高斯-赛
德尔迭代法求解,观察得到的序列是否收敛?若收敛,记录迭代次数,分析计算结果并得出你的结论。
(2)用SOR迭代法求解上述方程组,松弛系数ω取1< ω <2的不同值,在
时停止迭代.记录迭代次数,分析计算结果并得出你的结论。
2.给出线性方程组
H
n
x?b
,其中系数矩阵
H
n
为希尔伯特矩阵:
H
n
?
?
h
ij
?
??
n?n

h
ij
?
T
i
,i,j?1,2,?,n.
i?j?1
假设
x
*
?
?
1,1,?,1
?< br>??
n
,b?H
n
x.
若取
n?6,8,10,分别用雅可比迭代法及SOR迭代

?
?1,1.25,1.5
)求解, 比较计算结果。
3)实验原理与理论基础
1.雅克比(Jacobi)迭代法算法设计:
①输入矩阵a与右端向量b及初值x(1,i);
②按公式计算得

x
i
(k?1)
1
?
a
ii
??
n
?
(k)
?
b?ax
?
i
?ijj
?
j?1
??
j?i
??
(i?1,2,?,n )

2.高斯――赛得尔迭代法算法设计:
1. 输入矩阵a与右端向量b及初值x(1,i).


-
2. < br>x
(k?1)
i
1
?
a
ii
i?1
?
?
b
i
?
?
a
ij
x
(
j
k?1)
?
?
j?1
?
(k)
?
?< br>ax
?
ijj
?
(i = 1, 2,…, n)
j?i?1
?
n
3.超松驰法算法设计:
①输入矩阵a与右端向量b及初值x(1,i)。

x
(k?1)
i
?(1?
?
)x
(k)
i
?b
i
?< br>?
a
ij
x
a
ii
?
j?1
??
?
?
i?1
(k?1)
j
?
?
(k )
?
ax
?
ijj
?
,
0?
?
? 2

j?i?1
?
n
4)实验内容
第一题实验程序:
1.雅克比迭代法:
function []=yakebi(e)
%输入矩阵a与右端向量b。
for i=1:20
a(i,i)=3;
end
for i=3:20
for j=i-2
a(i,j)=-14;
a(j,i)=-14;
end
end
for i=2:20
for j=i-1
a(i,j)=-12;
a(j,i)=-12;
end
end
b=[2.2 1.7 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.7 2.2];
k=1;
n=length(a);
for i=1:n
x(1,i)=1;%数组中没有第0行。
end
while k>=1
for i=1:n
m=0;
%此步也可以用ifj~=i条件判定一下。
for j=1:(i-1)
m=m+a(i,j)*x(k,j);
end
for j=(i+1):n
m=m+a(i,j)*x(k,j);
end


-
x(k+1,i)=(b(i)-m)a(i,i);
end
l=0;
%判定满足条件使循环停止迭代。
for i=1:n
l=l+abs(x(k+1,i)-x(k,i));
end
if l break
end
k=k+1;
end
%输出所有的x的值。
x(k+1,:)
k
2.高斯—赛德尔迭代法:
function []=gaoshisaideer(e)
for i=1:20
a(i,i)=3;
end
for i=3:20
for j=i-2
a(i,j)=-14;
a(j,i)=-14;
end
end
for i=2:20
for j=i-1
a(i,j)=-12;
a(j,i)=-12;
end
end
b=[2.2 1.7 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.7 2.2];
k=1;
n=length(a);
for i=1:n
x(1,i)=0;%数组中没有第0行。
end
while k>=1
for i=1:n
p=0;q=0;
for j=1:(i-1)
p=p+a(i,j)*x(k+1,j);
end


-
for j=(i+1):n
q=q+a(i,j)*x(k,j);
end
x(k+1,i)=(b(i)-q-p)a(i,i);
end
l=0;
%判定满足条件使循环停止迭代。
for i=1:n
l=l+abs(x(k+1,i)-x(k,i));
end
if l break
end
k=k+1;
end
%输出所有的x的值。
x(k+1,:)
k
迭代法程序:
function []=caosongci(e,w)
for i=1:20
a(i,i)=3;
end
for i=3:20
for j=i-2
a(i,j)=-14;
a(j,i)=-14;
end
end
for i=2:20
for j=i-1
a(i,j)=-12;
a(j,i)=-12;
end
end
b=[2.2 1.7 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.7 2.2];
k=1;
n=length(a);
for i=1:n
x(1,i)=0;%数组中没有第0行。
end
while k>=1
if w>=2||w<=1
'请重新输入w的值,w在1与2之间';


-
break
end
for i=1:n
p=0;q=0;
for j=1:(i-1)
p=p+a(i,j)*x(k+1,j);
end
for j=i:n
q=q+a(i,j)*x(k,j);
end
x(k+1,i)=x(k,i)+w*(b(i)-q-p)a(i,i);
end
l=0;
%判定满足条件使循环停止迭代。
for i=1:n
l=l+abs(x(k+1,i)-x(k,i));
end
if l break
end
k=k+1;
end
%输出所有的x的值。
x(k+1,:)
k
第二题实验程序:
1.雅克比迭代法:
function X = 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('Now Jacobi method!');
disp('Start with the vector that (0, 0, 0, ...)^T');
for i = 1:n
for k = 1:n
X_old = X_new;
temp = 0;
for j = 1:n
if(j ~= i)
temp = temp + Hn(i, j) * X_old(j);
end


-



end
X_new(i) = (b(i) - temp) Hn(i, i);
end
end
X = X_new;
end
迭代法:
function X = p211_1_SOR(n, w)
Hn = GET_Hn(n);
b = GET_b(n);
temp01 = 0;
temp02 = 0;
X0 = zeros(1, n);
X_old = zeros(1, n);
X_new = zeros(1, n);
disp('Now Successive Over Relaxtion method!');
disp('Start with the vector that (0, 0, 0, ...)^T');
for i = 1:n
for k = 1:n
X_old = X_new;
temp01 = 0;
temp02 = 0;
for j = 1:n
if(j < i)
temp01 = temp01 + Hn(i, j) * X_new(j);
end
if(j > i)
temp02 = temp02 + Hn(i, j) * X_old(j);
end
end
end
X_new(i) = w * (b(i) - temp01 - temp02) Hn(i, i) + X_old(i);
end
X = X_new;
end

5)实验结果
第一题实验结果:
1.雅克比迭代法:
输入:
>> b=[2.2 1.7 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.7 2.2];
yakebi(0.00001)
结果:
ans =


-
Columns 1 through 12
0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998
0.9999 1.0000 1.0000 1.0000 1.0000
Columns 13 through 20
0.9999 0.9998 0.9995 0.9989 0.9970 0.9941 0.9787
0.9793
k =
12
2.高斯—赛德尔迭代法:
此时初值全取1;
输入:
>> b=[2.2 1.7 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.7 2.2];
>> gaoshisaideer(0.00001)
结果:ans =
Columns 1 through 12
0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998 0.9999
1.0000 1.0000 1.0000 1.0000
Columns 13 through 20
0.9999 0.9998 0.9995 0.9989 0.9970 0.9941 0.9787 0.9793
k =
14
此时初值全取1;
输入:
>> b=[2.5 1.9 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.9 2.5];
gaoshisaideer(0.00001)
结果:
ans =
Columns 1 through 12
1.0969 1.0707 1.0219 1.0103 1.0039 1.0016 1.0006
1.0003 1.0001 1.0001 1.0001 1.0001
Columns 13 through 20
1.0003 1.0006 1.0016 1.0039 1.0103 1.0219 1.0707
1.0969
k =
14
迭代法:
>> caosongci(0.00001,1.1)
ans =
Columns 1 through 12
0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998
0.9999 1.0000 1.0000 1.0000 1.0000

Columns 13 through 20
0.9999 0.9998 0.9995 0.9989 0.9970 0.9941 0.9787


-
0.9793
k =
11
>> caosongci(0.00001,1.2)
ans =
Columns 1 through 12
0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998
0.9999 1.0000 1.0000 1.0000 1.0000
Columns 13 through 20
0.9999 0.9998 0.9995
0.9793
k =
12
>> caosongci(0.00001,1.3)
ans =
Columns 1 through 12
0.9793 0.9787 0.9941
0.9999 1.0000 1.0000 1.0000
Columns 13 through 20
0.9999 0.9998 0.9995
0.9793
k =
15
>> caosongci(0.00001,1.4)
ans =
Columns 1 through 12
0.9793 0.9787 0.9941
0.9999 1.0000 1.0000 1.0000
Columns 13 through 20
0.9999 0.9998 0.9995
0.9793
k =
19
>> caosongci(0.00001,1.5)
ans =
Columns 1 through 12
0.9793 0.9787 0.9941
0.9999 1.0000 1.0000 1.0000
Columns 13 through 20
0.9999 0.9998 0.9995
0.9793
k =
25
>> caosongci(0.00001,1.6)
0.9989 0.9970
0.9970 0.9989
1.0000
0.9989 0.9970
0.9970 0.9989
1.0000
0.9989 0.9970
0.9970 0.9989
1.0000
0.9989 0.9970
0.9941 0.9787
0.9995 0.9998
0.9941 0.9787
0.9995 0.9998
0.9941 0.9787
0.9995 0.9998
0.9941 0.9787










-
ans =
Columns 1 through 12
0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998
0.9999 1.0000 1.0000 1.0000 1.0000
Columns 13 through 20
0.9999 0.9998 0.9995 0.9989 0.9970 0.9941 0.9787
0.9793
k =
34
>> caosongci(0.00001,1.7)
ans =
Columns 1 through 12
0.9793 0.9787 0.9941 0.9970 0.9989
0.9999 1.0000 1.0000 1.0000 1.0000
Columns 13 through 20
0.9999 0.9998 0.9995 0.9989 0.9970
0.9793
k =
47
>> caosongci(0.00001,1.8)
ans =
Columns 1 through 12
0.9793 0.9787 0.9941 0.9970 0.9989
0.9999 1.0000 1.0000 1.0000 1.0000
Columns 13 through 20
0.9999 0.9998 0.9995 0.9989 0.9970
0.9793
k =
73
>> caosongci(0.00001,1.9)
ans =
Columns 1 through 12
0.9793 0.9787 0.9941 0.9970 0.9989
0.9999 1.0000 1.0000 1.0000 1.0000
Columns 13 through 20
0.9999 0.9998 0.9995 0.9989 0.9970
0.9793
k =
150
第二题实验结果:
1.雅克比迭代法:
>> p211_1_JJ(6)
Now Jacobi method!
Start with the vector that (0, 0, 0, ...)^T
0.9995 0.9998
0.9941 0.9787
0.9995 0.9998
0.9941 0.9787
0.9995 0.9998
0.9941 0.9787






-
ans =
2.4500 1.1036 0.6265 0.4060 0.2831 0.2071
>> p211_1_JJ(8)
Now Jacobi method!
Start with the vector that (0, 0, 0, ...)^T
ans =
2.7179 1.4101 0.8524 0.5809 0.4221 0.3198 0.2497
0.1995
>> p211_1_JJ(10)
Now Jacobi method!
Start with the vector that (0, 0, 0, ...)^T
ans =
Columns 1 through 9
2.9290 1.6662 1.0517 0.7423 0.5554 0.4315 0.3445
0.2807 0.2325
Column 10
0.1951
迭代法:
n=6, ω=1,1.25,1.5的时候
>> p211_1_SOR(6, 1)
Now Successive Over Relaxtion method!
Start with the vector that (0, 0, 0, ...)^T
ans =
2.4500 1.1036 0.6265 0.4060 0.2831 0.2071
>> p211_1_SOR(6, 1.25)
Now Successive Over Relaxtion method!
Start with the vector that (0, 0, 0, ...)^T
ans =
3.0625 0.2310 0.8704 0.3389 0.3141 0.2097
>> p211_1_SOR(6, 1.5)
Now Successive Over Relaxtion method!
Start with the vector that (0, 0, 0, ...)^T
ans =
3.6750 -1.1009 2.0106 -0.3994 0.7670 -0.0384
与n=8, ω=1,1.25,1.5的时候
>> p211_1_SOR(8, 1)
Now Successive Over Relaxtion method!
Start with the vector that (0, 0, 0, ...)^T
ans =
2.7179 1.4101 0.8524 0.5809 0.4221 0.3198 0.2497
0.1995
>> p211_1_SOR(8, 1.25)
Now Successive Over Relaxtion method!
Start with the vector that (0, 0, 0, ...)^T


-
ans =
3.3973 0.4887 1.0898 0.5062 0.4501 0.3203 0.2573
0.2042
>> p211_1_SOR(8, 1.5)
Now Successive Over Relaxtion method!
Start with the vector that (0, 0, 0, ...)^T
ans =
4.0768 -0.9424 2.2923 -0.2753 0.9252 0.0578 0.4071
0.1275
与n=10, ω=1,1.25,1.5的时候
>> p211_1_SOR(10, 1)
Now Successive Over Relaxtion method!
Start with the vector that (0, 0, 0, ...)^T
ans =
Columns 1 through 9
2.9290 1.6662 1.0517 0.7423 0.5554 0.4315 0.3445
0.2807 0.2325
Column 10
0.1951
>> p211_1_SOR(10, 1.25)
Now Successive Over Relaxtion method!
Start with the vector that (0, 0, 0, ...)^T
ans =
Columns 1 through 9
3.6612 0.7098 1.2835 0.6617 0.5807 0.4299 0.3506
0.2844 0.2363
Column 10
0.1984
>> p211_1_SOR(10, 1.5)
Now Successive Over Relaxtion method!
Start with the vector that (0, 0, 0, ...)^T
ans =
Columns 1 through 9
4.3935 -0.7958 2.5326 -0.1523 1.0720 0.1565 0.5050
0.2041 0.2819
Column 10
0.1766
6)实验结果分析与小结
本次实习主要是学会应用雅克比迭代法、高斯—赛德 尔迭代法、SOR迭代法三种迭代法,
并且了解三种迭代法的性质以及迭代精度等。
第一题 中取的b对于雅克比迭代法、高斯――赛得尔迭代法都是收敛的,对于相同的初
值与右端向量明显可以看 出高斯――赛得尔迭代法比雅克比迭代法快。由第二题可得出对于
SOR迭代方法选择不同的松弛因子, 收敛次数大大不同,而当松弛因子为1.1时,在同等条
件下迭代最快。


-

月余是什么意思-显示英文


soccer什么意思-慢性肾功能不全


六年级下册英语书单词-磁力滚筒


发卡的拼音-fiinal


七年级地理期末试卷-q的小写字母


寡头政治-天翼团


hfm-野战光缆


曹休墓-商讨的近义词



本文更新与2020-10-25 22:13,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/426407.html

线性方程组迭代解法的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文