Re: [問題] reshape函數已回收

看板MATLAB作者 (大長今)時間15年前 (2010/04/12 01:46), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串3/4 (看更多)
※ 引述《DigiPrince (幻無影)》之銘言: : ※ 引述《squall500 (一年之後又一年)》之銘言: : : 我現在經由運算得到一個矩陣A,其中是由m個維度n*k的子矩陣組成 : : A = [a1;a2;...;am] : : 在這裡我知道的資訊只有整個大矩陣A : : 裡面的子矩陣a1,a2,...,am我都不知道 : : 現在我希望能把A變成 A = [a1,a2,...,am] : : 有辦法不透過迴圈作到嗎? : : 我試過reshape,不過它是逐行取值,還是沒辦法 : : 能讓reshape逐列取值嗎? : % 示範用,隨便設數字 : m = 5; : n = 2; : k = 3; : A = rand(n*m, k); % 隨便生一個矩陣示範 : C = mat2cell(A, repmat(n, 1, m), k)'; % 利用 cell 來實作 : B = cell2mat(C); % 要的結果 : 這樣嗎? x = fix(10*rand(n*m, k)) y = reshape(x,n,[]); z=reshape(1:m*k,m,[])'; y(:,z(:)') -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.27.206

04/12 23:39, , 1F
多謝!直接叫果然是最快的
04/12 23:39, 1F
文章代碼(AID): #1BmWi8uE (MATLAB)
文章代碼(AID): #1BmWi8uE (MATLAB)