[問題] reshape函數已回收

看板MATLAB作者 (一年之後又一年)時間15年前 (2010/04/11 00:01), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/4 (看更多)
我現在經由運算得到一個矩陣A,其中是由m個維度n*k的子矩陣組成 A = [a1;a2;...;am] 在這裡我知道的資訊只有整個大矩陣A 裡面的子矩陣a1,a2,...,am我都不知道 現在我希望能把A變成 A = [a1,a2,...,am] 有辦法不透過迴圈作到嗎? 我試過reshape,不過它是逐行取值,還是沒辦法 能讓reshape逐列取值嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.50.253

04/11 04:59, , 1F
先轉置再reshape就變成逐列取值了
04/11 04:59, 1F

04/11 08:38, , 2F
有時候可能需要先拉成一條 再轉置 再reshape
04/11 08:38, 2F
謝謝兩位的建議,但是先轉置出來的矩陣是 A = [a1',a2',...,am'],reshape之後只能得到a1'~am' 我還是要把每個子矩陣拉出來再作一次轉置才行 或是一開始先轉置子矩陣再做reshape 但是我一開始沒有子矩陣的資訊,並且子矩陣的個數m也會變動 這樣要把子矩陣從A裡面抓出來似乎就要用到迴圈才有辦法了 而且要是知道子矩陣的話,也不需要使用reshapa,直接把矩陣排成一列就行了 希望我這次有把條件描述的比較清楚 不知道在這樣的條件下,除了用迴圈還有其他解法嗎? ※ 編輯: squall500 來自: 123.204.50.253 (04/11 08:57)
文章代碼(AID): #1BmA34wF (MATLAB)
文章代碼(AID): #1BmA34wF (MATLAB)