看板 MATLAB 關於我們 聯絡資訊
※ 引述《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
Ihatenchu:thank you 01/22 10:39
Oxygenair:喔...我忘了把第一個row加進去了~請自行注意一下 01/22 10:43
※ 編輯: Oxygenair 來自: 140.113.127.59 (01/22 11:07)