Освоение собственных значений и собственных векторов в MATLAB: практическое руководство
Собственные значения и собственные векторы — фундаментальные понятия линейной алгебры, широко используемые в различных областях, включая физику, инженерию и анализ данных. В MATLAB эти концепции можно легко исследовать и вычислять.
Что такое собственные значения?
Собственное значение — это скаляр, обозначаемый как (лямбда), ассоциированный с линейным преобразованием векторного пространства. Он представляет фактор, на который соответствующий собственный вектор масштабируется во время преобразования.
Что такое собственные векторы?
Собственный вектор — это ненулевой вектор, который меняется только на скалярный фактор, когда к нему применяется линейное преобразование. Другими словами, если A — матрица, v — собственный вектор A, соответствующий собственному значению, если:
Av = λv
Здесь A — квадратная матрица, v — собственный вектор, λ — собственное значение.
Функции MATLAB
MATLAB предоставляет встроенные функции для вычисления собственных значений и собственных векторов.
Использование eig
Эта функция вычисляет собственные значения и собственные векторы матрицы.
Синтаксис
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 — "balance", включающий балансировку. Функция eig может возвращать любые из выходных аргументов, упомянутых в предыдущих примерах.
[___] = eig(A,B,algorithm), где algorithm — "chol", использует холецкое разложение B для вычисления обобщенных собственных значений. Алгоритм по умолчанию зависит от свойств A и B, но это "qz" (QZ-алгоритм), когда A или B несимметричны.
[___] = eig(___,outputForm) возвращает собственные значения в формате, заданном outputForm, используя любые из входных или выходных аргументов, упомянутых ранее. Установите outputForm в "vector" для получения собственных значений в вектор-столбце, или "matrix" — в диагональной матрице.
Примеры для MATLAB функции eig()
Вот несколько примеров для иллюстрации использования:
Пример 1: Вычисление собственных значений с помощью e = eig(A)
В MATLAB можно найти собственные значения матрицы A с помощью функции eig. Рассмотрим следующий код:
% Определение матрицы A A = [1, 2, 3; 4, 5, 6; 7, 8, 9]; % Вычисление собственных значений e = eig(A)
В приведенном примере:
- Матрица A определена как 3x3 матрица с записями как показано.
- Функция eig(A) вычисляет собственные значения матрицы A.
- Результат eig(A) сохраняется в переменной e, которая является вектор-столбцом, содержащим собственные значения A.
При вычислении кода вывод получается следующим:
>> % Определение матрицы A A = [1, 2, 3; 4, 5, 6; 7, 8, 9]; % Вычисление собственных значений e = eig(A) e = 16.1168 -1.1168 -0.0000
Пример 2: Получение собственных значений и собственных векторов с помощью [V,D] = eig(A)
В MATLAB можно найти собственные значения и собственные векторы матрицы A с помощью функции eig.
Рассмотрим следующий код:
% Определение матрицы A
A = [2, -1; 4, 3];
% Вычисление собственных значений и собственных векторов
[V, D] = eig(A);
% Отображение собственных значений
disp('Eigenvalues:');
disp(D);
% Отображение собственных векторов
disp('Eigenvectors:');
disp(V);
В коде выше:
- Матрица A определена как 2x2 матрица с записями как показано.
- Функция [V, D] = eig(A) вычисляет как собственные значения (D), так и соответствующие собственные векторы (V) матрицы A.
- D — диагональная матрица, содержащая собственные значения A.
- V — матрица, столбцы которой являются соответствующими собственными векторами.
При выполнении кода вывод получается следующим:
>> % Определение матрицы A
A = [2, -1; 4, 3];
% Вычисление собственных значений и собственных векторов
[V, D] = eig(A);
% Отображение собственных значений
disp('Eigenvalues:');
disp(D);
% Отображение собственных векторов
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: Лаплас, Фурье, БПФ (FFT)
- Основы MATLAB: Синтаксис, команды и спецсимволы
- Построение графиков функций в MATLAB: пошаговое руководство
- MATLAB 2-D обратное косинусное преобразование: восстановление изображений из частотных данных
- Импорт данных в MATLAB: эффективная загрузка внешних файлов
- MATLAB для математического анализа: пределы, производные, интегралы
- Алгебраические уравнения в MATLAB: решение, упрощение, факторизация
- Типы данных в MATLAB: Полное руководство с примерами
- GNU Octave: полное руководство по MATLAB-совместимой среде
- Числа в MATLAB: типы, хранение и преобразование