[問題]1*N 矩陣區域極值並標註其位置

看板MATLAB作者 (loket)時間9年前 (2014/09/07 17:02), 編輯推噓0(003)
留言3則, 1人參與, 最新討論串1/1
有1*N的矩陣,大概長這樣 A = [0 0 0 ...0 1 4 6 3 2 0 0 ... 0 1 2 5 2 2 0 0 .. 0 1 3 2 4 2 0 0 ..] 點點的地方都是零 矩陣大小大概是1*155 我要找到區域極值 6、5、4 的位置 找到矩陣有區域極大值的位置後 在做一些處理 處理 : 先在矩陣 A 上多加一列 使得 A 變為 2*N 之矩陣 假設在 A(1,18) 找到區域極值 6 就使 A(2,18) 的位置上其值為 289 假設在 A(1,63) 找到區域極值 5 使 A(2,63) 的位置上其值為 456 在把矩陣 A 第二列利用線性內插把其他位置的值都算出來 最後再將矩陣 A 之第二列當成一個矩陣 B 之第二列 (矩陣 B 原為 1*N 且跟矩陣 A 一樣大) 並畫一張圖 (縱軸是 B 之第二列,橫軸是 B 之第一列) 麻煩大家幫想想,感謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.15.91 ※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1410080560.A.136.html

09/22 09:54, , 1F
position=find((((A-[0,A(1:end-1)])>=0).*
09/22 09:54, 1F

09/22 09:54, , 2F
((A-[A(2:end),0])>=0))==1);
09/22 09:54, 2F

09/22 09:55, , 3F
B=interp1(position,A(position),1:N);
09/22 09:55, 3F
文章代碼(AID): #1K31ym4s (MATLAB)