И другие программы этой серии
Основной критерий: либо V\' V=I, либо V\' BV=I, где V –
собственный вектор, I – единичная матрица. Поэтому результаты вычислений
в новой версии, как правило, отличаются от результатов старых версий MATLAB.
Несимметрические матрицы могут быть плохо обусловлены при вычислении
их собственных значений. Малые изменения элементов матрицы, такие как ошиб
ки округления, могут вызвать большие изменения в собственных значениях. Мас
штабирование, хотя и не превращает их в симметрические, значительно повышает
стабильность собственных значений. Масштабирование – это попытка перевести
каждую плохую обусловленность собственных векторов матрицы в диагональное
масштабирование. Однако масштабирование обычно не может преобразовать не
симметрическую матрицу в симметрическую, а только пытается сделать (вектор
ную) норму каждой строки равной норме соответствующего столбца. Масштаби
рование значительно повышает стабильность собственных значений.
• [D,B] = balance(A) возвращает диагональную матрицу D, элементы ко
торой являются степенями основания 2, и масштабированную матрицу B,
такую, что B=D\\A*D, а норма каждого ряда масштабированной матрицы
приближается к норме столбца с тем же номером;
• B = balance(A) – возвращает масштабированную матрицу B.
Пример использования функции balance:
>> A=[1 1000 10000;0.0001 1 1000;0.000001 0.0001 1]
A=
1.0e+004 *
0.0001
0.1000
1.0000
0.0000
0.0001
0.1000
0.0000
0.0000
0.0001
>> [F,G]=balance(A)
F=
1.0e+004 *
3.2768
0
0
0
0.0032
0
0
0
0.0000
G=
1.0000
0.9766
0.0095
0.1024
1.0000
0.9766
1.0486
0.1024
1.0000
-0.9700
0.2378
-0.0500
-0.3123
-0.7858
-0.5356
0.6655
-0.7153
0.2131
• [Q,R] = qrinsert(Q,R,j,x) изменяет Q и R таким образом, чтобы пере
считать разложение матрицы A для случая, когда в матрице A перед j ым
столбцом вставлен столбец x. Входные значения Q и R представляют QR
разложение матрицы A как результат действия [Q,R]=qr(A). Аргумент
x – вектор столбец, который нужно вставить в матрицу A.