与えられたベクトルと行列AとB、スカラーとしてAの各要素にBを乗じてforループを使わずに新しい行列をそれぞれ加算する方法。スカラーとしてAの各要素を掛け合わせる方法B
A = [1;2;3]
B = [1 2;3 4 ;5 6]
C = (A(1) * B) + (A(2) * B) + (A(3) * B)
ans =
6 12
18 24
30 36
C = sum(C)
C =
54 72
が、ベクトルが長すぎるので、私は手動でそれを行うことはできません。私が何を意味するか
です。
あなたが変更する場合があります式を合計する(reshape(sum(B(:)* A(:)。 '、2)、size(B))) Aが行ベクトルまたは列ベクトルの場合。 – verbatross
@verbatross私はあなたの提案で答えを編集しました。 – mpaskov
なぜそうコンパイルされましたか?一歩前に戻り、最初に合計を構築してから乗算することができます – Andy