2017-04-03 14 views
0

私は、Tの逆行列を画像に示されているとしたいと思います。最初の画像は行列Tであり、もう1つはT inverseです。 horzcat CAT引数の寸法を使用してMatlab:行列の逆行列を計算する方法

T

T inverse

I = eye(3); 
T = [I/2, (j/2)*I, 0; 
    I/2, (-j/2)*I, 0; 
    0,0,I]; 

エラーが一貫していません。

その後、私はI = eye(2)で試してみましたが、同じエラーが発生しました。正しい方法は何ですか?

+1

inv' 'と間違って何を - あなたはGoogle matlab +行列+逆の結果ですか? imaginayユニットが '1i'または' 1j'であることを確認してください。 – thewaywewalk

+1

@thewaywewalk主な問題は、書かれた方程式が行列** 0 **を使用している間に、OPがリテラル「0」を使用していることだと思います。したがって、寸法誤差。 – TroyHaskin

答えて

3

あなたは(変数jあなたは1jなく未定義の虚数単位を使用してください)

A = [1/2, (1j/2), 0; 
    1/2, (-1j/2), 0; 
    0,0,1]; 

取得するAelement-wise using .*を乗算したい

I = eye(3); 

考える T

T = A.*I 

しかし、離れて、それはあなたが実際に一定のC = I = 1

T = A.*1 

であなたがinverse機能を得る逆Aを乗算したいように感じていることから:

Tinv = inv(T) 
+0

Tinv = 2.0000,0.0; 0,0 + 2.0000i、0; ,0,0,1.0000; – SKM

+0

2行目の要素の値が異なります。最初の列は-jIですが、コードの出力は0です。もう1つは、Tinvの画像では、 「2」はないが、Matlabはその要素に「2」を掛けた。 'Tinv'と同じ結果が得られているかどうか確認してください。 – SKM

+1

@SKMこの回答のコードは、あなたの質問に示されているものと一致する正しい答えを返します。 A = [1/2、(1j/2)、0; 1/2、(-1j/2)、0; 0,0,1]; 'Then' inv(A)= [1,1,0 ;; -i、i、0; 0、0、1];となる。ワークスペースをクリアして( 'clear'を使用して)、もう一度やり直してみてください。 – Wolfie

関連する問題