工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> MATLAB

MATLAB で固有値と固有ベクトルをマスターする:実践ガイド

固有値と固有ベクトルは線形代数の基本概念であり、物理学、工学、データ分析などのさまざまな分野で広く使用されています。 MATLAB では、これらの概念を簡単に調べて計算できます。

EigenValues とは何ですか?

固有値は、ベクトル空間の線形変換に関連付けられた (ラムダ) で示されるスカラーです。これは、変換中に対応する固有ベクトルがスケーリングされる係数を表します。

EigenVector とは何ですか?

固有ベクトルは、線形変換が適用されたときにスカラー係数だけ変化する非ゼロ ベクトルです。言い換えれば、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) は、A の固有値を含む対角行列 D と、列が対応する固有ベクトルである行列 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 の乗算は、W の転置と B の D の乗算と同じであることを意味します。

一般化固有値問題は、方程式 Av =Bv の解を見つけることに関するものです。ここで、A と B は正方行列、v は列ベクトル、およびスカラーです。この方程式を満たす値は一般化固有値であり、v 値は対応する右固有ベクトルです。左の固有ベクトル w は、方程式 w'A =w'B を満たします。

[___] =eig(A, BalanceOption) (balanceOption が「nobalance」である場合) は、アルゴリズムの予備的なバランシング ステップをオフにします。デフォルトでは、balanceOption は「balance」で、バランスをオンにします。 eig 関数は、前の例で説明した出力引数のいずれかを返すことができます。

[___] =eig(A,B,algorithm) (アルゴリズムは「chol」) は、B のコレスキー分解を使用して一般化された固有値を計算します。デフォルトのアルゴリズムは A と B のプロパティによって異なりますが、A または B が対称でない場合は「qz」(QZ アルゴリズム)になります。

[___] =eig(___,outputForm) は、前述の入力引数または出力引数のいずれかを使用して、outputForm で指定された形式で固有値を返します。列ベクトルで固有値を取得するには、outputForm を「vector」に設定し、対角行列で固有値を取得するには、「matrix」に設定します。

Matlab 関数 eig() の例

以下に、その使用方法を説明するためのいくつかの例を示します -

例 1:e =eig(A) を使用して固有値を計算する

MATLAB では、関数 eig を使用して行列 A の固有値を見つけることができます。次のコードを考えてみましょう-

% Define the matrix A
A = [1, 2, 3;
 4, 5, 6;
 7, 8, 9];
% Compute the eigenvalues
e = eig(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) を使用して eigenValues と eigenVectors を取得する

MATLAB では、関数 eig を使用して行列 A の固有値と固有ベクトルを見つけることができます。

次のコードを検討してください-

% 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);

上記のコードには-

があります。

コードが実行されると、得られる出力は次のとおりです-

>> % 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

  1. MATLAB-微分
  2. MATLAB - 環境設定
  3. MATLAB 2 次元逆コサイン変換:周波数データからイメージを復元
  4. MATLAB-コマンド
  5. MATLAB - ループ タイプ
  6. MATLAB-概要
  7. MATLAB-統合
  8. MATLAB ガイド:多項式導関数の効率的な計算
  9. MATLAB-グラフィックス
  10. MATLAB - 演算子
  11. MATLAB-数値