行列の積の組み合わせ

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

回答 (2 件)

Shimalice
Shimalice 2023 年 4 月 5 日
関数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 件のコメント
貴弘
貴弘 2023 年 4 月 5 日
ありがとうございます。

サインインしてコメントする。


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

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

製品


リリース

R2023a

Community Treasure Hunt

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

Start Hunting!