>> А=[3 -2;-4 1]
>> eig(A)%Собственные значения матрицы А
ans =
-1
>> [M,D]=eig(A)
М = %Первый столбец - собственный вектор для 5,
второй - для -1
0.7071 0.4472
-0.7071 0.8944
D = %Собственные значения матрицы А
5 0
0 -1
>> %Проверка A*M=M*D
>> M*D
ans =
3.5355 -0.4472
-3.5355 -0.8944
>> А*М
ans =
3.5355 -0.4472
-3.5355 -0.8944
■ poly (A) - возвращает вектор-строку коэффициентов характеристического полинома матрицы А;
Листинг 62.
>> А=[3 -2;-4 1];
>> poly(А)
ans =
1 -4 -5
■ linsolve(A, b) - возвращает решение системы линейных уравнений А* х= b, вызов в формате linsolve(A, b, options) позволяет задать метод решения уравнения; если задать функцию в виде [х, r]=linsolve(A,b), то она вернет х - решение системы и r - ранг матрицы А;
Листинг 63.
>> A=[1 2 3; -2 -4 -6]
A=
1 2 3
-2 -4 -6
>> b=[5;6]
b=
>>x=linsolve(A,b)%Решение системы Ах=b
>>%Предупреждение: ранг меньше размерности!
Warning: Rank deficient, rank = 1, tol = 4.4686e-015.
X=
-0.4667
>> A*x %Найденное решение не верно, т.к. Ах не равно b
ans=
-1.4000
2.8000
>> [x,r]=linsolve(A,b)
X= %Решение системы
-0.4667
r=%Ранг матрицы A
>>%------------------------------------------------
|
|
>> А=[2 -1 1,-3 2 -5;1 3 -21;
>> Ь=[0;1;4];
>> x=linsolve(A,b)%Решение линейной системы
х =
0.4643
1.6786
0.7500
>> А*х %Решение верно
ans =
0.0000
1.0000
4.0000
■ rref (А) - осуществляет приведение матрицы А к треугольной форме, используя метод исключения Гаусса;
Листинг 64.
>> A=[3 -2 1 5;6 -4 2 7;9 -6 3 12]
А=
3 -2 1 5
6 -4 2 7
9 -6 3 12
>> rref(A)
ans =
1.0000 -0.6667 0.3333 0
0 0 0 1.0000
0 0 0 0
■ chol (A) - возвращает разложение по Холецкому для положительно определенной симметрической матрицы А;
Листинг 65.
>> А=[10 1 1;2 10 1;2 2 10];
>> chol(А)%Разложение по Холецкому
ans -
3.1623 0.3162 0.3162
0 3.1464 0.2860
0 0 3.1334
>> А-[1 2;1 1];%Матрица не симметрическая
>> chol(A)
??? Error using --> chol Matrix must be positive definite.
>>%Матрица содержит отрицательные элементы
>> Z=[3,1,-1,2;г-5,1,3,-4;;2,0,1,-1;1,-5, 3,-3];
>> chol(Z)
??? Error using ==> chol
Matrix must be positive definite.
■ lu(А) – выполняет LU-разложение, функция [L, U, P] =lu(A) возвращает три матрицы: L - нижняя треугольная, U - верхняя треугольная и Р - матрица перестановок, причем P*A=L*U; функции lu (А) без параметров возвращает одну матрицу, которая, в свою очередь, является комбинацией матриц L и U;
Листинг 66.
>> А= [З -2 1; 5 6 -4; 2 7 9];
>> [LU, P]=lu(A)
>> %Нижняя треугольная матрица
L =
1.0000 0 0
0.6000 1.0000 0
0.4000 -0.8214 1.0000
>> %Верхняя треугольная матрица
U =
5.0000 6.0000 -4.0000
0 -5.6000 3.4000
0 0 13.3929
>> %Матрица перестановок
Р =
0 1 0
1 0 0
0 0 1
>> %Проверка: L*U-P*A
>> L*U ans -
5.0000 6.0000 -4.0000
3.0000 -2.0000 1.0000
2.0000 7.0000 9.0000
>> Р*А
ans =
5 6 -4
3 -2 1
2 7 9
>> %Комбинация из матриц L и U
>> lu(A)
ans =
5.0000 6.0000 -4.0000
0.6000 -5.6000 3.4000
0.4000 -0.8214 13.3929
>> %Выделение матрицы L
>> triu(lu(A))
ans =
5.0000 б.0000 -4.0000
0 -5.6000 3.4000
0 0 13.3929
|
|
» %Формирование матрицы U
>> U=tril(lu(A),-l)+eye(3)
U =
1.0000 0 0
0.6000 1.0000 0
0.4000 -0.8214 1.0000
■ qr (А)-выполняет QR-разложение, команда [Q, R, P]=qr(A) возвращает три матрицы: ортогональную Q, верхнюю треугольную R и матрицу перестановок Р, причем A*P=Q*R;