大学数学实验题目及解答1
实验5
x
(0)
T
=(1, 1, 1) ,观察并计算结果,并分析其收敛性。
⎧x 1-9x 2-10x 3=1⎧5x 1-x 2-3x 3=-1⎧10x 1+4x 2+5x 3=-1⎪⎪⎪
(1). ⎨-9x 1+x 2+5x 3=0(2). ⎨-x 1+2x 2+4x 3=0(3). ⎨4x 1+10x 2+7x 3=0 ⎪8x +7x +x =4⎪-3x +4x +15x =4⎪5x +7x +10x =4
12312323⎩⎩⎩1
解:
编如下MA TLAB 函数: a 、雅克比迭代法
function x=yakebi(A,b,n) U=-triu(A,1); L=-tril(A,-1); D=A+U+L; B=D\(L+U); f=D\b; x=zeros(3,n);
x(1,1)=1;x(2,1)=1;x(3,1)=1; for k=1:(n-1)
x(:,k+1)=B*x(:,k)+f; end
b 、高斯-赛德尔迭代法
function x=gs(A,b,n) U=-triu(A,1); L=-tril(A,-1); D=A+U+L; B=(D-L)\U; f=(D-L)\b; x=zeros(3,n);
x(1,1)=1;x(2,1)=1;x(3,1)=1; for k=1:(n-1)
x(:,k+1)=B*x(:,k)+f; end
输入三个方程组的系数矩阵A 及b :
>> A1=[1 -9 -10;-9 1 5;8 7 1]; >> b1=[1 0 4];
>> A2=[5 -1 -3;-1 2 4;-3 4 15]; >> b2=[-1 0 4];
>> A3=[10 4 5;4 10 7;5 7 10]; >> b3=[-1 0 4];
分别用A 与b 代入两迭代法:
①.
>> yakebi(A1,b1',9) ans =
Columns 1 through 6
1 20 -73 276 -8202 29472 1 4 235 263 7769 -53593 1 -11 -184 -1057 -4045 11237 Columns 7 through 9
-369966 3275358 -21276390 209063 -4026589 21996767 139379 1496291 1983263 >> gs(A1,b1',4) ans =
1 20 -12234 7274022 1 175 -103201 61364783 1 -1381 820283 -487745653
由以上可看出,两种迭代法均不收敛。 ②.
>> yakebi(A2,b2',1900) ans =
Columns 1 through 7
1.0000 0.6000 -0.3800 0.2520 -0.4223 0.2106 -0.3984 1.0000 -1.5000 -0.1000 -1.7633 -0.3087 -1.7857 -0.4237 1.0000 0.2000 0.7867 0.2173 0.7873 0.2645 0.7850 Columns 8 through 14
0.1862 -0.3739 0.1641 -0.3514 0.1434 -0.3310 0.1243 -1.7692 -0.5068 -1.7383 -0.5721 -1.7018 -0.6262 -1.6638
0.3000 0.7757 0.3271 0.7630 0.3489 0.7492 0.3674 ……
Columns 1891 through 1897
-0.0984 -0.0984 -0.0984 -0.0984 -0.0984 -0.0984 -0.0984 -1.1639 -1.1639 -1.1639 -1.1639 -1.1639 -1.1639 -1.1639 0.5574 0.5574 0.5574 0.5574 0.5574 0.5574 0.5574 Columns 1898 through 1900 -0.0984 -0.0984 -0.0984 -1.1639 -1.1639 -1.1639
0.5574 0.5574 0.5574 >> gs(A2,b2',25) ans =
Columns 1 through 7
1.0000 0.6000 -0.0360 -0.1122 -0.1127 -0.1069 -0.1030 1.0000 -1.7000 -1.6980 -1.4807 -1.3345 -1.2534 -1.2105 1.0000 0.8400 0.7123 0.6391 0.6000 0.5795 0.5689 Columns 8 through 14
-0.1008 -0.0996 -0.0990 -0.0987 -0.0985 -0.0985 -0.0984
-1.1882 -1.1765 -1.1705 -1.1673 -1.1657 -1.1648 -1.1644 0.5634 0.5605 0.5590 0.5582 0.5578 0.5576 0.5575 Columns 15 through 21
-0.0984 -0.0984 -0.0984 -0.0984 -0.0984 -0.0984 -0.0984 -1.1642 -1.1641 -1.1640 -1.1640 -1.1640 -1.1639 -1.1639 0.5574 0.5574 0.5574 0.5574 0.5574 0.5574 0.5574 Columns 22 through 25
-0.0984 -0.0984 -0.0984 -0.0984 -1.1639 -1.1639 -1.1639 -1.1639
0.5574 0.5574 0.5574 0.5574
由上看出,两种迭代法均收敛至(-0.0984 -1.1639 0.5574)’ ③.
>> yakebi(A3,b3',14) ans =
Columns 1 through 7
1.0000 -1.0000 0.7400 -1.3190 0.8070 -1.5333 0.9566 1.0000 -1.1000 0.9600 -1.4650 0.9770 -1.7823 1.0945 1.0000 -0.8000 1.6700 -0.6420 2.0850 -0.6874 2.4143 Columns 8 through 14
-1.7449 1.1513 -1.9773 1.3857 -2.2409 1.6618 -2.5438 -2.0726 1.2891 -2.3668 1.5455 -2.6861 1.8587 -3.0452 -0.8445 2.7233 -1.0780 3.0454 -1.3747 3.4007 -1.7320 >> gs(A3,b3',17) ans =
Columns 1 through 7
1.0000 -1.0000 -0.5350 -0.4056 -0.3724 -0.3652 -0.3644 1.0000 -0.3000 -0.5630 -0.5809 -0.5576 -0.5375 -0.5254 1.0000 1.1100 1.0616 1.0094 0.9765 0.9588 0.9500 Columns 8 through 14
-0.3648 -0.3653 -0.3655 -0.3657 -0.3657 -0.3658 -0.3658 -0.5191 -0.5159 -0.5144 -0.5137 -0.5134 -0.5133 -0.5132 0.9458 0.9438 0.9429 0.9424 0.9423 0.9422 0.9421 Columns 15 through 17 -0.3658 -0.3658 -0.3658 -0.5132 -0.5132 -0.5132
0.9421 0.9421 0.9421
由上可知,雅克比迭代法不收敛,高斯-赛德尔迭代法收敛于(-0.3658 -0.5132 0.9421)’
取ω=0.75,1.0,1.25,1.5,用SOR 迭代法求解,比较其迭代结果(并与精确值相比较). 解:
a 、由MA TLAB 程序可得方程的精确值为:
>> A1=ones(4); >> A2=eye(4); >> A=A1-5*A2; >> b=ones(4,1); >> x=A\b
x =(-1.0000,-1.0000,-1.0000,-1.0000)
b 、由SOR 迭代法求解
function x=sor(w,n) A1=ones(4); A2=eye(4); A=A1-5*A2; b=ones(4,1); U=-triu(A,1); L=-tril(A,-1); D=A+U+L;
B=(D-w*L)\(w*U+(1-w)*D); f=w*(D-w*L)\b; x=ones(4,n); for k=1:(n-1)
x(:,k+1)=B*x(:,k)+f; end
ω故