И другие программы этой серии
Если X вырожденная, то выдает предупреждение об ошибке;
• [Y,resnorm]=sqrtm(X) – не выдает какого либо предупреждающего со
общения, но возвращает оценку погрешности в виде относительной невяз
ки по нормам Фробениуса (см. урок 11) norm(X-Y^2,\'fro\')/
norm(X,\'fro\');
• [Y, alpha, condest]= sqrtm(X) – с тремя выходными аргументами
функция, помимо квадратного корня, возвращает также фактор стабильно
сти (но не невязку!) и оценку числа обусловленности результирующей мат
рицы Y.
Пример:
>> S=[2,1,0;6,7,-2;3,4,0];
>> e=sqrtm(S)
e=
1.2586
0.2334
1.6066
2.7006
0.5969
1.1055
0.0688
-0.6043
0.7918
4.4.2. Вычисление нормы и чисел
обусловленности матрицы
23.3779
30.0593
23.4277
• logm(X) – возвращает логарифм матрицы. Результат получается комплек
сным, если O имеет отрицательные собственные значения;
• [Y,esterr]=logm(X) – не выдает какого либо предупреждающего сооб
щения, но возвращает оценку погрешности в виде относительной невязки
norm(expm(Y)–X)/norm(X).
Если матрица X – действительная симметричная или комплексная эрмито
ва, то теми же свойствами обладает и logm(X). Пример:
a=
31.2203
38.9659
31.1705
1
Для понимания всего нижеизложенного материала необходимо учесть, что нормы
матриц в MATLAB отличаются от норм векторов. Норма вектора x (или, точнее,
его p норма) задается выражением
и вычисляется функцией norm(x,p).
Пусть A – матрица. Тогда n=norm(A) эквивалентно n=norm(A,2) и возвра
щает вторую норму, то есть самое большое сингулярное число матрицы A. Функ
ция n=norm(A,1) возвращает первую норму, то есть самую большую из сумм абсо
лютных значений элементов матрицы по столбцам. Норма неопределенности
n=norm(A,inf) возвращает самую большую из сумм абсолютных значений элемен
тов матрицы по рядам. Норма Фробениуса (Frobenius) norm(A,\'fro\') =
= sqrt(sum(diag(A\'A))).
В общем случае p норма матрицы A вычисляется как
0.0000
20.0855
-0.0000
23.3779
30.0593
23.4277
Форма funm(X,\'function\'), как в предыдущих версиях MATLAB, по прежнему воз
можна, но не рекомендуется.