行列の積の組み合わせ

6 ビュー (過去 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 ExchangeCreating and Concatenating Matrices についてさらに検索

製品


リリース

R2023a

Community Treasure Hunt

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

Start Hunting!