あなたがやりたいことは、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