[請益] 想請問關於多維矩陣計算問題

看板MATLAB作者 (Abby)時間9年前 (2016/04/04 16:24), 9年前編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
不好意思 這學期因為一門課的關係要用matlab寫程式 但是卻沒有教如何使用 所以才開始自己學matlab 但是很多地方一直google以後還是不懂 所以只好想請問人 1.假設我有一個陣列A的維度是(2400,16,256,3) 如果我想針對第一個維度2400個點做計算 假設我已經把2400個點分別放入 (:,1,1,1)和(:,1,1,2) 然後我想把這2400個點,相同index做相減存入(:,1,1,3) 就是 A(1,1,1,3)=A(1,1,1,1)-A(1,1,1,2) A(2,1,1,3)=A(2,1,1,1)-A(2,1,1,2) A(3,1,1,3)=A(3,1,1,1)-A(3,1,1,2) ... A(2400,1,1,3)=A(2400,1,1,1)-A(2400,1,1,2) 只用一行程式碼(無迴圈) A(:,1,1,3)=A(:,1,1,1)-A(:,1,1,2) 請問是對的嗎 2.請問如果我想取得這2400個點的max或avg 寫成max(A(:,1,1,3))或是mean(A(:,1,1,3))是對的嗎? 3.請問不同矩陣也可以這樣嗎? 如我宣告B=zeros(2400,1) 直接寫A(:,1,1,3)-B(:,1) 結果會是對的嗎 謝謝 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.20.217 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1459758288.A.210.html ※ 編輯: yaya517 (42.73.20.217), 04/04/2016 16:30:04 ※ 編輯: yaya517 (42.73.20.217), 04/04/2016 16:30:51

04/04 18:57, , 1F
2. 可以用max(A, 1)和mean(A,1),數字是維度的意思
04/04 18:57, 1F
請問以矩陣A來說 我的2400個點就是第一個維度嗎? 16是第二個維度、256是第三個維度? 但是我寫成 max(A, 1)反而會發生compiler error Assignment has more non-singleton rhs dimensions than non-singleton subscripts ※ 編輯: yaya517 (42.73.20.217), 04/04/2016 19:06:50

04/04 21:37, , 2F
1. 沒錯喔
04/04 21:37, 2F

04/04 21:38, , 3F
2. 可以那樣算 3. 會是對的
04/04 21:38, 3F

04/04 21:38, , 4F
這個不是拿一個例子跑跑看就好了嗎?
04/04 21:38, 4F
非常謝謝您的回答QQ 您說的對 我應該拿一個小例子跑跑看的 謝謝~~ ※ 編輯: yaya517 (42.73.20.217), 04/04/2016 22:56:47
文章代碼(AID): #1N0YJG8G (MATLAB)
文章代碼(AID): #1N0YJG8G (MATLAB)