И другие программы этой серии
Этот метод
неудачен, если входная матрица не имеет полного набора линейно незави
симых собственных векторов. Пример:
>> S=[1,0,3;1,3,1;4,0,0]
S=
4.3.10. Матрица Вандермонда
Матрица Вандермонда vander(x) задает преобразование вектора x и создает
матрицу, размер которой определяется размером вектора, а каждый элемент j го
столбца удовлетворяет выражению V(:,j)=x^(n-j). Пример:
>> x=[1 3 5 7];
>> V=vander(x)
V=
1
1
27
9
125
25
343
49
1
3
5
7
1
1
1
1
Обратите внимание на то, что третий столбец аналогичен исходному вектору.
Матрица Вандермонда используется при решении классической задачи полино
миальной аппроксимации.
214
1
0
1
3
4
0
>> a=expm(S)
a=
31.2203
38.9659
31.1705
3
1
0
Операции с векторами и матрицами
Матричные операции линейной алгебры
>> logm(a)
ans =
1.0000
1.0000
4.0000
215
0.0000
3.0000
-0.0000
3.0000
1.0000
-0.0000
0
20.0855
0
23.3779
30.0593
23.4277
• funm(X,@function)1 – возвращает любую функцию от квадратной мат
рицы X, если правильно ввести имя, составленное из латинских букв. Ко
манды funm(X,@exp) funm(X,@sqrt) funm(X,@log) и expm(X),
sqrtm(x),logm(X) вычисляют cоответственно одинаковые функции, но
используют разные алгоритмы. Однако предпочтительнее использовать
expm(X), sqrtm(x),logm(X);
• [Y,esterr] = funm(X,@function) – не выдает никакого сообщения, но,
помимо результата вычислений, в матрице Y возвращает грубую оценку от
носительной погрешности результата вычислений funm в esterr. Если
матрица X – действительная симметричная или комплексная эрмитова, то
ее форма Шура диагональна и полученный результат может иметь высокую
точность.
Примеры:
>> S=[1,0,3;1,3,1;4,0,0]
S=
1
0
3
1
3
1
4
0
0
>> a=funm(S,@exp)
a=
31.2203
0.0000
38.9659
20.0855
31.1705
-0.0000
• sqrtm(X) – возвращает квадратный корень из X, соответствующий нео
трицательным действительным частям собственных значений X. Результат
получается комплексным, если O имеет отрицательные собственные значе
ния.