行列の積の組み合わせ

9 views (last 30 days)
貴弘
貴弘 on 5 Apr 2023
Answered: Shunichi Kusano on 6 Apr 2023
下記のような行列があった時,
A = [a1;a2;a3]
B = [b1;b2]
各要素の積のすべての組み合わせ(6パターン)を
下記のような行列にしたく思っています。
C = [a1*b1;a1*b2;a2*b1;a2*b2;a3*b1;a3*b2]
AやBの要素数が変化しても対応できるようにしたく思っておりますが,
どのようにプログラムを組めばいいのでしょうか?
大変初歩的な問題で恐縮ですが,
ご教授いただけるとありがたく思います。

Answers (2)

Shimalice
Shimalice on 5 Apr 2023
関数prodとcombvecを組み合わせて以下のように計算できます.
prod(combvec(B.',A.'))
Example code:
A = [1;2;3];
B = [4;5];
C = prod(combvec(B.',A.'))
C = 1×6
4 5 8 10 12 15
  1 Comment
貴弘
貴弘 on 5 Apr 2023
ありがとうございます。

Sign in to comment.


Shunichi Kusano
Shunichi Kusano on 6 Apr 2023
基本的な演算子だけでも記述が可能です。ご参考まで。
A = [1;2;3];
B = [4;5];
C = A' .* B;
C = C(:) % 列ベクトルに
C = 6×1
4 5 8 10 12 15

Products


Release

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!