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

作者: loket258 (loket)   2014-09-07 17:02:38
有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 之第一列)
麻煩大家幫想想,感謝。
作者: huangkurt (kurt)   2014-09-22 09:54:00
position=find((((A-[0,A(1:end-1)])>=0).*((A-[A(2:end),0])>=0))==1);B=interp1(position,A(position),1:N);

Links booklink

Contact Us: admin [ a t ] ucptt.com