行列の積の組み合わせ

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

Réponses (2)

Shimalice
Shimalice le 5 Avr 2023

1 vote

関数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 commentaire

貴弘
貴弘 le 5 Avr 2023
ありがとうございます。

Connectez-vous pour commenter.

Shunichi Kusano
Shunichi Kusano le 6 Avr 2023

0 votes

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

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Centre d'aide et File Exchange

Produits

Version

R2023a

Community Treasure Hunt

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

Start Hunting!