行列の積の組み合わせ

12 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

Categories

Find more on Matrix Indexing in Help Center and File Exchange

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!