ЧМ ЛР6
.docx>> A = rand(4, 4)
A =
0.6787 0.6555 0.2769 0.6948
0.7577 0.1712 0.0462 0.3171
0.7431 0.7060 0.0971 0.9502
0.3922 0.0318 0.8235 0.0344
>> f = rand(4, 1)
f =
0.4387
0.3816
0.7655
0.7952
>> det(A)
ans = 0.0562
Определитель не равен нулю, значит, матрица А не вырожденная
>> A1 = inv(A)
A1 =
0.8947 1.9082 -1.2817 -0.2567
6.9823 -0.6046 -4.8407 -1.7432
-0.4517 -0.8455 0.5636 1.3472
-5.8416 -0.9566 5.5940 1.3583
А1 – обратная матрица
>> X = A1*f
X =
-0.0647
-2.2591
0.9820
2.4344
for i=1:1:4
B = A;
B(:,i) = f;
x(i) = det(B)/det(A);
end
>> x'
ans =
-0.0647
-2.2591
0.9820
2.4344
B = [A,f];
for j = 1:1:3
[m, p] = max(B(j:4,j));
buf = B(p+j-1,:);
B(p+j-1,:) = B(j,:);
B(j,:) = buf;
for i=4:-1:j+1
B(i,:) = B(i,:)-B(i-1,:)*(B(i,j)/B(i-1,j));
end
end
for i = 1:1:3
for j = i+1:1:4
B(i,:) = B(i,:)-B(j,:)*B(i,j)/B(j,j);
end
end
for i = 1:1:4
B(i,:) = B(i,:)/B(i,i);
end
X = B(:,5)
X =
-0.0647
-2.2591
0.9820
2.4344
>> rref([A f])
ans =
Columns 1 through 4
1.0000 0 0 0
0 1.0000 0 0
0 0 1.0000 0
0 0 0 1.0000
Column 5
-0.0647
-2.2591
0.9820
2.4344
>> X = A\f
X =
-0.0647
-2.2591
0.9820
2.4344
>> A = rand(20, 20)
A =
>> X = rand(20,1)
X =
0.3411
0.6074
0.1917
0.7384
0.2428
0.9174
0.2691
0.7655
0.1887
0.2875
0.0911
0.5762
0.6834
0.5466
0.4257
0.6444
0.6476
0.6790
0.6358
0.9452
>> cond(A)
ans = 132.2375
>> A(12, 15) = 1000;
>> cond(A)
ans = 5.1522e+04
>> f = A*X
f =
4.8630
4.9108
5.1919
5.6667
4.6585
5.2881
5.2380
5.2048
6.1637
6.0354
5.1088
430.2967
5.2014
5.3065
4.8302
3.6557
3.9953
5.2577
4.9717
5.2846
>> A1 = inv(A)
>> x = A1*f
>> e = abs(X-x)
>> e'
ans =
1.0e-13 *
0.0216 0.0722 0.0883 0.0056 0.0230 0.0722 0.0105 0.0211 0.0083 0.0333 0.0125 0.0067 0.0111 0.0322 0.0006 0.0178 0.0111 0.3653 0.0977 0.0666
for i=1:1:20
B = A;
B(:,i) = f;
x(i) = det(B)/det(A);
end
>> e = abs(X-x)
>> e'
ans =
1.0e-14 *
0.0999 0.0222 0.5690 0.1776 0.0916 0.1998 0.1443 0 0.1388 0.2109 0.3622 0.0555 0.0222 0.7327 0.0444 0.6328 0.1998 0.7661 0.8549 0.8771
>> x = A\f
>> e = abs(X-x)
>> e'
ans =
1.0e-14 *
0.0722 0.0555 0.0583 0.1665 0.0749 0.1776 0.0833 0.0777 0.2359 0.0722 0.1679 0.1998 0.2109 0 0.0056 0.1221 0.0999 0.1554 0.0999 0.3331
B = [A,f];
for j = 1:1:19
[m, p] = max(B(j:20,j));
buf = B(p+j-1,:);
B(p+j-1,:) = B(j,:);
B(j,:) = buf;
for i=20:-1:j+1
B(i,:) = B(i,:)-B(i-1,:)*(B(i,j)/B(i-1,j));
end
end
for i = 1:1:19
for j = i+1:1:20
B(i,:) = B(i,:)-B(j,:)*B(i,j)/B(j,j);
end
end
for i = 1:1:20
B(i,:) = B(i,:)/B(i,i);
end
x = B(:,21)
>> e = abs(X-x)
>> e'
ans =
1.0e-09 *
0.0336 0.1283 0.0320 0.0236 0.0047 0.0622 0.0046 0.0048 0.0293 0.0328 0.0557 0.0703 0.0015 0.0320 0.0000 0.1303 0.0379 0.0326 0.0317 0.0366