Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> MATLAB

Освоение собственных значений и собственных векторов в 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
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
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

  1. Преобразования в MATLAB: Лаплас, Фурье, БПФ (FFT)
  2. Основы MATLAB: Синтаксис, команды и спецсимволы
  3. Построение графиков функций в MATLAB: пошаговое руководство
  4. MATLAB 2-D обратное косинусное преобразование: восстановление изображений из частотных данных
  5. Импорт данных в MATLAB: эффективная загрузка внешних файлов
  6. MATLAB для математического анализа: пределы, производные, интегралы
  7. Алгебраические уравнения в MATLAB: решение, упрощение, факторизация
  8. Типы данных в MATLAB: Полное руководство с примерами
  9. GNU Octave: полное руководство по MATLAB-совместимой среде
  10. Числа в MATLAB: типы, хранение и преобразование