2

例えば、

magic(3)x [1,2,3]は次のようになります:

-9   -18    15
 1    -2     1
23   -10    -1
4

1 に答える 1

2

あなたがやりたいことは、3 行 3列の行列の各行と 1 行 3 列のベクトルの外積を計算することのように思えます。関数CROSSを使用するには、2 つの入力が同じサイズでなければならないため、関数REPMATを使用して 1 行 3 列のベクトルを複製し、3 行になるようにする必要があります。次に、列に沿って外積を実行します。

>> A = magic(3);
>> B = [1 2 3];
>> C = cross(A,repmat(B,size(A,1),1),2);
C =

    -9   -18    15
     1    -2     1
    23   -10    -1
于 2010-12-07T03:00:16.960 に答える