[問題] max指令的問題已回收

看板MATLAB作者 (...)時間15年前 (2010/11/04 14:21), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
板上的先進前輩大家好 小弟寫了一個matlab程式如下 t=zeros(65536,1); s=zeros(65536,1); for k=1:65536 [m,n]=max(p(k,:)); [o,r]=max(p(k,1:n-1)); t(k,1)=m-o; s(k,1)=n-r; end 其中p是為一65536 X 63之大型已知數值矩陣 小弟寫這程式用意第一步驟是為了找出p之每一列之最大值及其位置 然後第二步驟再找出每一列最大值之前的部分序列 此部份序列的最大值及其位置 然而我在跑此程式時 第二步驟出現了問題 當最大值之前的部分序列裡有多個同樣大小 的最大值時 在某些k值裡 它並不是找第一個的最大值 而是找到第二個或第三個的最 大值 因此它顯示出來的位置是錯誤的 然而在其他k值裡 卻又是正確的 因此我感到很 疑惑 如果是程式寫法錯誤 因該會全錯才對 不應該會像這樣子部分對部分錯才是 希望各位先進前輩能給小弟一些指教建議 解開心中的困惑 謝謝各位 感激不盡 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.66.174.56

11/05 18:13, , 1F
find(max())
11/05 18:13, 1F
文章代碼(AID): #1Cqb3-yj (MATLAB)