Вычислительные методы линейной алгебры. Горбаченко В.И - 18 стр.

UptoLike

18
z1 =
-0.383593697536088
-0.320711513997535
Вектор z
)
имеет размер, равный числу столбцов, поэтому этот вектор не тре-
бует дополнения. Вычисляем решение
=
xVz
)
>> x=V*z1
x =
0.000000000000001
0.499999999999999
Для проверки рассчитаем кубическую норму вектора невязки
>> norm_x=norm(b-A*x,inf)
norm_x =
8.881784197001252e-016
Норма вектора невязки достаточно мала.
Для сравнения получим решение с помощью решателя СЛАУ
>> x1=A\b
x1 =
0.000000000000001
0.499999999999999
Решение полностью совпало с предыдущим.
Получим решение по методу
QR-разложения
>> [Q,R]=qr(A)
Q =
-0.109108945117996 -0.829515062006254 -0.394501022283828 -0.379959133877596
-0.327326835353989 -0.439155032826839 0.242796545704358 0.800655879510063
-0.545544725589981 -0.048795003647425 0.697909975442775 -0.461434357387337
-0.763762615825973 0.341565025531985 -0.546205498863304 0.040737611754870
R =
-9.165151389911680 -10.910894511799622
0 -0.975900072948535
0 0
0 0
>> x=R\Q'*b
x =
0.000000000000000
0.500000000000000
В случае данного простого примера решения с использованием сингулярного
разложения и
QR-разложения практически совпали. При решении сложных
неполноранговых систем сингулярное разложение дает лучшие результаты за
счет более точного определения вычислительного ранга.
Продемонстрируем применение превдообратной матрицы для решения
рассматриваемой СЛАУ
>> W=pinv(A)
W =
-1.000000000000000 -0.499999999999998 0.000000000000002 0.499999999999998
0.849999999999999 0.449999999999998 0.049999999999999 -0.349999999999998
z1 =
  -0.383593697536088
  -0.320711513997535
        )
Вектор z имеет размер, равный числу столбцов, поэтому этот вектор не тре-
                                        )
бует дополнения. Вычисляем решение x = Vz
>> x=V*z1
x =
   0.000000000000001
   0.499999999999999
Для проверки рассчитаем кубическую норму вектора невязки
>> norm_x=norm(b-A*x,inf)
norm_x =
    8.881784197001252e-016
Норма вектора невязки достаточно мала.
Для сравнения получим решение с помощью решателя СЛАУ
>> x1=A\b
x1 =
   0.000000000000001
   0.499999999999999
Решение полностью совпало с предыдущим.
Получим решение по методу QR-разложения
>> [Q,R]=qr(A)

Q =
-0.109108945117996 -0.829515062006254 -0.394501022283828    -0.379959133877596
-0.327326835353989 -0.439155032826839   0.242796545704358    0.800655879510063
-0.545544725589981 -0.048795003647425   0.697909975442775   -0.461434357387337
-0.763762615825973 0.341565025531985 -0.546205498863304      0.040737611754870
R =
  -9.165151389911680 -10.910894511799622
                   0 -0.975900072948535
                   0                   0
                   0                   0
>> x=R\Q'*b
x =
   0.000000000000000
   0.500000000000000
В случае данного простого примера решения с использованием сингулярного
разложения и QR-разложения практически совпали. При решении сложных
неполноранговых систем сингулярное разложение дает лучшие результаты за
счет более точного определения вычислительного ранга.
    Продемонстрируем применение превдообратной матрицы для решения
рассматриваемой СЛАУ
>> W=pinv(A)
W =
  -1.000000000000000 -0.499999999999998   0.000000000000002 0.499999999999998
   0.849999999999999 0.449999999999998    0.049999999999999 -0.349999999999998

                                                                            18