10

MATLABでxの(自明ではない)解Ax = 0をどのように解くのですか?

A = matrix
x = matrix trying to solve for

私はsolve('A * x = 0'、'x')を試しましたが、答えは0しか得られません。

4

4 に答える 4

14

null(A)は(ランクが不足している行列に対して)次のように同じことを行うことに注意してください。ただし、これはMATLABの関数を使用していsvd(A)ます(コメントで述べたようにnull(A))。

[U S V] = svd(A);
x = V(:,end)

これについての詳細は、これに関連するリンクがあります(式のためにここに投稿することはできません)。

特異値と固有値の分解をより直感的に感じたい場合はeigshow、MATLABで確認してください。

于 2009-10-05T14:56:07.493 に答える
10

を使用N = null(A)して行列を取得できますN。の列のNいずれか(または、実際には、の列の線形結合N)は、を満たしAx = 0ます。これは、そのようなすべての可能性を説明していxます-あなたはちょうどの零空間の直交基底を見つけましたA

x注:そのようなifAは、自明でないnullspaceがある場合にのみ見つけることができます。これは、の場合に発生しますrank(A) < #cols of A

于 2009-10-04T01:13:05.650 に答える
1

MATLAB のツールボックスに特異値分解があるかどうかを確認できます。これにより、ベクトルのヌル空間が得られます。

于 2009-10-04T02:02:39.243 に答える