Re: [討論] 矩陣排列組合
※ 引述《whale0821 (DorisTsai)》之銘言:
: 想請問關於一個矩陣的問題
: 舉例
: 若有兩個矩陣為
: A=[1 2 3]
: B=[4 5 6]
: 想組合成
: C=[1 2 3;
: 1 2 6;
: 1 5 3;
: 1 5 6;
: 4 2 3;
: 4 2 6;
: 4 5 3;
: 4 5 6;]
: 8種排列組合,
: 第一個位置只有1,4 兩個選擇
: 第二個位置只有2,5 兩個選擇
: ...以次類推
: 請問有比較快的指令或是怎麼寫迴圈比較好呢?
: 如果矩陣皆是1*n的話
: 謝謝
提供一些想法
a=[1 2 3];
b=[4 5 6];
N=length(a); % 確定矩陣長度
t1=0:2^N-1; % 確定組合數 以3為例 共8中組合 為0~7
t2=de2bi(t1,'left-msb'); % 十進位轉2進位 如3 => [0 1 1]
a2=repmat(a,2^N,1);
b2=repmat(b,2^N,1); % 將矩陣重複與組合數相同
c=a2.*~t2+b2.*t2
得到結果
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.71.217.252
推
09/10 20:44, , 1F
09/10 20:44, 1F
→
09/10 20:46, , 2F
09/10 20:46, 2F
→
09/10 20:52, , 3F
09/10 20:52, 3F
討論串 (同標題文章)