[爆卦]matlab reshape用法是什麼?優點缺點精華區懶人包

為什麼這篇matlab reshape用法鄉民發文收入到精華區:因為在matlab reshape用法這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者kevio (成仔)看板MATLAB標題Re: [討論] 二維轉一維時間Sun Mar 22 2...


reshape -->可將二維矩陣變一維
numel -->可訂出矩陣size

A=[0 1 3 4;
5 6 1 1;
7 0 1 8;
9 0 0 0;]
B= reshape (A, 1, numel(A)) --> 得到 B=[0 5 7 9 1 6 0 0 3 1 1 0 4 1 8 0]
先轉置在求B比較符合你要的排列
B= reshape (A',1, numel(A)) --> 得到 B=[0 1 3 4 5 6 1 1 7 0 1 8 9 0 0 0]
最後用推文的
B= B(B/2>1) -->為你所求

結論 code:
A=[0 1 3 4;
5 6 1 1;
7 0 1 8;
9 0 0 0;]
B= reshape (A',1, numel(A))
B= B(B/2>1)


※ 引述《Lionel (跟快樂交往)》之銘言:
: 問題:
: A=[0 1 3 4;
: 5 6 1 1;
: 7 0 1 8;
: 9 0 0 0;]
: 如果A矩陣(4*4)的一個元素/2後大於1
: 想要得到結果是B(1*N)矩陣 %N的大小由A決定
: B=[3 4 5 6 7 8 9]
: 該如何寫code
: my code
: A=[0 1 3 4;
: 5 6 1 1;
: 7 0 1 8;
: 9 0 0 0;]
: for i=1:3
: for j=1:4
: if a(i,j)/2>1
: end
: end
: end
: if裡面要放什麼我就想不出來了....

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.255.36.11
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1427036707.A.4EC.html
profyang: 不用reshape 因為A(A/2>1)這種東西它index就自動變成1D 03/22 23:54
Lionel: 又多學到一招了 matlab函數根本超多 03/23 00:34
kevio: 真的耶~~ 先轉置 再下指令就ok了 03/23 11:08
profyang: 因為matlab的array本來就有把它編成只有一個index的排序 03/23 11:50
profyang: 方式 並非二維陣列一定要兩個index去叫他 03/23 11:50

你可能也想看看

搜尋相關網站