这个用MATLAB解方程组怎么做

img


1.解决图中问题
2.图中第二份中方程组怎么解,比较方程组解的变化

代码供参考

A=[3,2,0,0; 1,5,0,0; 0,1,8,0; 0,0,2,9];
H = hilb(4);
% 第一题
cA = cond(A)
cH = cond(H)
% 第二题
epsil = 0.001;%微小变化值
b = [1;2;3;4];
x1 = A\b;
x2 = (A+epsil*eye(size(A)))\b;
x2 - x1 %方程解的变化
x1 = H\b;
x2 = (H+epsil*eye(size(H)))\b;
x2 - x1 %方程解的变化

结果分析

cA =
   4.357240075333353

cH =
     1.551373873892904e+04

可以看出H矩阵条件数15000多远远大于A矩阵条件数4.36不到

ans =

   1.0e-04 *

   0.295616875751331
  -0.828188506680205
  -0.305092146300479
  -0.345268795172160


ans =

   1.0e+03 *

   0.080692188535525
  -0.945692689702214
   2.326768578737567
  -1.533808248475236

前面第一个ans是矩阵A微小变化的解的变化值,特别小;
第二个ans是H的解变化值,最大的解的变化值都达到了2300多
分析可知,条件数大的矩阵,方程性态很差,解的变化会随着矩阵元素微小变化会很剧烈