2

ではMatlab、次のコマンドを入力しました。

>> a = [1 2; 3 4]

a =

     1     2
     3     4

コマンドを試したa^2ところ、次の結果が得られました。

>> a^2

ans =

     7    10
    15    22

私は実際に得ることを期待していました:

ans =

       1     4
       9     16

言い換えれば、行列の各要素が2になることを期待していました。

上記のような結果になったのはなぜですか?

ありがとう。

4

2 に答える 2

16

MATLAB では、すべての単一文字演算子は行列演算子です。したがって、行列乗数を使用しています。たとえば、

a^2 == a*a

各要素を二乗したい場合は、要素ごとの累乗演算子を使用する必要があります。

>> a.^2
ans = 
    1   4
    9   16

MATLAB の演算子の詳細については、こちらをご覧ください。

于 2013-01-24T09:28:23.057 に答える
6

Matlab で入力a^2すると、実際に実行しているのはa*a(行列の乗算) です。Matalb で要素単位の操作が必要な場合は、次のように入力する必要があります。

a.^2

と の違いに注意して^2ください.^2。オペランドの前
の小さなドットは、行列演算とは対照的に、要素単位の演算を示します。.

/vs ./*vs.などの他の操作についても同様です.*

于 2013-01-24T09:28:34.317 に答える