Освоение собственных значений и собственных векторов в MATLAB:практическое руководство
Собственные значения и собственные векторы — фундаментальные понятия линейной алгебры, широко используемые в различных областях, включая физику, технику и анализ данных. В MATLAB эти концепции можно легко исследовать и вычислять.
Что такое собственные значения?
Собственное значение — это скаляр, обозначаемый как (лямбда), связанный с линейным преобразованием векторного пространства. Он представляет собой коэффициент масштабирования соответствующего собственного вектора во время преобразования.
Что такое собственные векторы?
Собственный вектор — это ненулевой вектор, который изменяется только на скалярный коэффициент, когда к нему применяется линейное преобразование. Другими словами, если A — матрица, v — собственный вектор A, соответствующий собственному значению, если —
Ав=v
Здесь A — квадратная матрица, v — собственный вектор и собственное значение.
Функции MATLAB
MATLAB предоставляет встроенные функции для вычисления собственных значений и собственных векторов.
Использование восьми
Эта функция вычисляет собственные значения и собственные векторы матрицы.
Синтаксис
e = eig(A) [V,D] = eig(A) [V,D,W] = eig(A) e = eig(A,B) [V,D] = eig(A,B) [V,D,W] = eig(A,B) [___] = eig(A,balanceOption) [___] = eig(A,B,algorithm) [___] = eig(___,outputForm)
Пояснение синтаксиса
e =eig(A) возвращает вектор-столбец с собственными значениями квадратной матрицы A.
[V,D] =eig(A) возвращает диагональную матрицу D с собственными значениями A и матрицу V, столбцы которой являются соответствующими собственными векторами. Это означает, что умножение A на V аналогично умножению V на D.
[V,D,W] =eig(A) также возвращает полную матрицу W, столбцы которой являются соответствующими левыми собственными векторами. Это означает, что умножение транспонирования W на A аналогично умножению D на транспонирование W.
Проблема собственных значений заключается в поиске решений уравнения Av =v, где A — квадратная матрица, v — вектор-столбец и — скаляр. Значения, удовлетворяющие этому уравнению, являются собственными значениями, а значения v, удовлетворяющие этому уравнению, являются правыми собственными векторами. Левые собственные векторы w удовлетворяют уравнению w'A =w'.
e =eig(A,B) возвращает вектор-столбец с обобщенными собственными значениями квадратных матриц A и B.
[V,D] =eig(A,B) возвращает диагональную матрицу D с обобщенными собственными значениями и полную матрицу V, столбцы которой являются соответствующими правыми собственными векторами. Это означает, что умножение A на V аналогично умножению B, V и D вместе.
[V,D,W] =eig(A,B) также возвращает полную матрицу W, столбцы которой являются соответствующими левыми собственными векторами. Это означает, что умножение транспонирования W на A аналогично умножению D, транспонирования W и B.
Обобщенная проблема собственных значений заключается в поиске решений уравнения Av =Bv, где A и B — квадратные матрицы, v — вектор-столбец и скаляр. Значения, удовлетворяющие этому уравнению, являются обобщенными собственными значениями, а значения v — соответствующими правыми собственными векторами. Левые собственные векторы w удовлетворяют уравнению w'A =w'B.
[___] =eig(A, BalanceOption), где BalanceOption — «nobalance», отключает этап предварительной балансировки в алгоритме. По умолчанию для параметра BalanceOption установлено значение «баланс», что включает балансировку. Функция eig может возвращать любой из выходных аргументов, упомянутых в предыдущих примерах.
[___] =eig(A,B,algorithm), где алгоритм «chol», использует факторизацию Холецкого B для вычисления обобщенных собственных значений. Алгоритм по умолчанию зависит от свойств A и B, но это «qz» (алгоритм QZ), когда A или B несимметричны.
[___] =eig(___,outputForm) возвращает собственные значения в формате, заданном выходной формой, используя любой из входных или выходных аргументов, упомянутых ранее. Установите для параметра outputForm значение «вектор», чтобы получить собственные значения в виде вектора-столбца, или значение «матрица», чтобы получить их в виде диагональной матрицы.
Примеры функции Matlab eig()
Вот несколько примеров, иллюстрирующих, как его использовать –
Пример 1:Чтобы вычислить собственные значения, используя e =eig(A)
В MATLAB вы можете найти собственные значения матрицы A, используя функцию eig. Рассмотрим следующий код –
% Define the matrix A A = [1, 2, 3; 4, 5, 6; 7, 8, 9]; % Compute the eigenvalues e = eig(A)
В приведенном выше примере —
- Матрица A определяется как матрица 3x3 с указанными элементами.
- Функция eig(A) вычисляет собственные значения матрицы A.
- Результат eig(A) сохраняется в переменной e, которая представляет собой вектор-столбец, содержащий собственные значения A.
Когда код вычислен, мы получаем следующий результат:
>> % Define the matrix A A = [1, 2, 3; 4, 5, 6; 7, 8, 9]; % Compute the eigenvalues e = eig(A) e = 16.1168 -1.1168 -0.0000
Пример 2. Чтобы получить собственные значения и собственные векторы, используйте [V,D] =eig(A)
В MATLAB вы можете найти собственные значения и собственные векторы матрицы A, используя функцию eig.
Рассмотрим следующий код –
% Define the matrix A
A = [2, -1;
4, 3];
% Compute the eigenvalues and eigenvectors
[V, D] = eig(A);
% Display the eigenvalues
disp('Eigenvalues:');
disp(D);
% Display the eigenvectors
disp('Eigenvectors:');
disp(V);
В приведенном выше коде мы имеем —
- Матрица A определяется как матрица 2x2 с указанными элементами.
- Функция [V, D] =eig(A) вычисляет как собственные значения (D), так и соответствующие собственные векторы (V) матрицы A.
- D — диагональная матрица, содержащая собственные значения матрицы A.
- V — матрица, столбцы которой являются соответствующими собственными векторами.
Когда код выполняется, мы получаем следующий результат:
>> % Define the matrix A
A = [2, -1;
4, 3];
% Compute the eigenvalues and eigenvectors
[V, D] = eig(A);
% Display the eigenvalues
disp('Eigenvalues:');
disp(D);
% Display the eigenvectors
disp('Eigenvectors:');
disp(V);
Eigenvalues:
2.5000 + 1.9365i 0.0000 + 0.0000i
0.0000 + 0.0000i 2.5000 - 1.9365i
Eigenvectors:
-0.1118 + 0.4330i -0.1118 - 0.4330i
0.8944 + 0.0000i 0.8944 + 0.0000i
MATLAB
- MATLAB — Векторы
- MATLAB — Матрица
- MATLAB — Дифференциал
- MATLAB — принятие решений
- MATLAB — Строки
- MATLAB 2-D Обратное косинусное преобразование:восстановите изображения из частотных данных
- Визуализация математических выражений в MATLAB:руководство по построению 2D и 3D графиков
- MATLAB — Обзор
- МАТЛАБ — Числа
- МАТЛАБ — Функции