[問題]請問求數列的相對極值

看板MATLAB作者 (成仔)時間14年前 (2012/03/01 11:04), 編輯推噓2(208)
留言10則, 4人參與, 最新討論串1/1
我目前處理的是一個生理訊號 (血壓) 因為訊號取得時就已經有訊號震盪的狀況 所以用微分法取極值時會找不到確實的最大值及最小值 ex: 112 111 112 113 114 115 114 115 117 116 115 114 113 110 109 108 109 後面還有一大串類似的訊號...... 請問如何在這裏面找到這串數列的相對最大值及最小值,還有足標? (如上分別是 max 117/9, min 108/16 ) --- Matlab 苦手 @@~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.253.37

03/01 11:24, , 1F
v= [112 111 112 113 114 115 114 115 117 ..你這串] ;
03/01 11:24, 1F

03/01 11:25, , 2F
maxInd=find(v==max(v)) ; maxVal=v(maxInd) ;
03/01 11:25, 2F

03/01 12:26, , 3F
[maxv,maxi]=max(v); [minv,mini]=min(v);
03/01 12:26, 3F

03/02 11:50, , 4F
可是如果有一連串的"相對"最大值要找 不曉得有何麼好方法
03/02 11:50, 4F

03/02 11:50, , 5F
目前我只能用迴圈 限定搜尋範圍 一個一個找出index
03/02 11:50, 5F

03/02 11:51, , 6F
例如一個人心跳60下 每秒資訊量125筆 就找一秒內的最大值
03/02 11:51, 6F

03/02 11:52, , 7F
之後再找下一秒的最大值 @@~
03/02 11:52, 7F

03/02 11:53, , 8F
想請問有無辦法找出類似十秒內的十個最大值分別的位置
03/02 11:53, 8F

03/02 11:53, , 9F
而不用這樣一個一個找
03/02 11:53, 9F

03/02 14:31, , 10F
reshape
03/02 14:31, 10F
文章代碼(AID): #1FJkSln2 (MATLAB)
文章代碼(AID): #1FJkSln2 (MATLAB)