2011-12-27 10 views
4

混乱している場合は申し訳ありませんが、ここではっきりさせてください。私は何を探していますは、次のとおりです。行列の各点に別の行列の1つを掛け、matlabで各乗算から新しい行列を形成する

[a1*b1 a1*b2 a1*b3 
    a2*b1 a2*b2 a3*b3 
    a3*b1 a3*b2 a3*b3 
    a4*b1 a4*b2 a4*b3] 
:私たちは、私はCになりたい、ベクター(または1xNの行列)A = [A1 A2 A3 A4]と別のB = [B1 B2はB3] があるとし

matlabでそうするコマンドはありますか?私はすでにforループで処理していますが、forループなしで書くことができれば、ループが呼び出される回数を考慮すると、実行時間を大幅に節約できます。

答えて

3

はい。これは通常のベクトル乗算で行われ、outer productとして知られています。列ベクトルに行ベクトル(この場合はA.' * B)を掛けるだけです。 Aは転置されて列ベクトルになります(これは定義によって行ベクトルです)。

+0

これは完璧に機能しました!ありがとうございました :) – patokun