Re: [問題] 矩陣中挑某些列出來

看板MATLAB作者 (氧氣)時間13年前 (2013/01/22 10:29), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/3 (看更多)
※ 引述《Ihatenchu (hate)》之銘言: : 假設我有個 21x21矩陣 A : 我要挑七列出來, : 挑法如下, 第一列一定要挑到。 : 剩下六列 要從第二列 到二十一列 這二十列中 挑出來, : 而且要成pair~~ 就是挑到 第二列 就要有第三列 第四列就要有第五列這樣。 : 總共其實有C(10,3)= 10*9*8/6 =120 種挑法, : 請問該如何寫出這120個 7x21的矩陣。 : 感恩~~ 根據推文的要求 那其實還滿容易的 只要把(2,3) (4,5)....(20,21)這10種pair想成index就好 想把combination的狀況列出來 以下想法僅供參考 index_pair = reshape( 2:size( A , 1 ) , 2 , 10 ); combination = nchoosek( 1:10 , 3 ); A_pair = zeros( 7 , size( A , 2 ) , size( combination , 1 ) ); for k = 1:size( combination , 1 ) selected_row = [ 1 , reshape( index_pair(:,combination( k , : ) ),1,6 ) ]; A_pair( : , : , k ) = A( selected_row , : ); end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.127.59

01/22 10:39, , 1F
thank you
01/22 10:39, 1F

01/22 10:43, , 2F
喔...我忘了把第一個row加進去了~請自行注意一下
01/22 10:43, 2F
※ 編輯: Oxygenair 來自: 140.113.127.59 (01/22 11:07)
文章代碼(AID): #1G_VblSV (MATLAB)
文章代碼(AID): #1G_VblSV (MATLAB)