[問題] 如何找到圖形的波峯與波谷值 ...(想問뀠…已回收

看板MATLAB作者 (阿發)時間14年前 (2010/03/26 18:58), 編輯推噓3(3010)
留言13則, 4人參與, 最新討論串1/2 (看更多)
在此很謝謝版友提供的方式 ... 由於板上規定 同問題不能夠重複PO文 所以我決定刪掉原文 重新把問題說明一次 因為我剛剛知道要怎麼處理 只是迴圈方面不太會寫 問題如下敘述 請問各位版友!! 我有一些圖形是正弦波的感覺,它有三~四個週波 而且我已經有這些圖型的所有數據 指是我想知道 如何透過這些數據去判別 ~ 每個週期的波峰&波谷 數據是下面這樣 .... 大約有三千筆資料左右 時間點(time) 波形數據(data1) 時間點(time) 波形數據(data1) 0.1528 -1.5412 0.1534 -1.5519 0.1540 -1.5627 0.1546 -1.5737 0.1552 -1.5848 0.1558 -1.5960 0.1564 -1.6074 0.1570 -1.6189 0.1576 -1.6305 0.1582 -1.6423 0.1588 -1.6542 0.1594 -1.6662 0.1600 -1.6783 0.1606 -1.6906 0.1612 -1.7030 0.1618 -1.7156 0.1624 -1.7282 每個震盪的擺渡不同,但是振幅是逐漸越來越小的趨勢 第一個波峰&波谷值 我可以利用max&min 可以找到 但是接下來的波形的波峰與波谷值 我就沒有辦法找到 請為各位版友 不知道有沒有什麼方式可以找到 ... 之前有板有提供diff的方式 我知道要如何使用 做兩點時間差相減 ... 只要減出來的數值 由負變正的狀況或者是由正變負的狀況 就代表有高點或低點的出現 .... 想請問版友 ... 迴圈方面的判別式不知道要如何寫這段程式碼?? data = [time data1] d=diff(data) (差分後的結果) 麻煩各位版友給我一些點子非常感謝 ... ^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.105.135.143 ※ 編輯: afa0525 來自: 112.105.135.143 (03/26 18:59)

03/26 19:57, , 1F
利用點運算d(2:end).*d(1:end-1)帶負值的位置為極值
03/26 19:57, 1F

03/26 20:11, , 2F
樓上的解法也是一解...要找值的話不用迴圈 用find就好
03/26 20:11, 2F

03/26 21:01, , 3F
請問一樓板友...d裡面有時間和那個時間點的數值
03/26 21:01, 3F

03/26 21:02, , 4F
兩個資料 各有4927筆 點運算後 變成9853筆 為什麼會這樣 ?
03/26 21:02, 4F

03/26 21:03, , 5F
我點運算後找到 負值的位置是6918 6919 ....
03/26 21:03, 5F

03/26 21:03, , 6F
那我要怎麼對應到本來的資料 ?? 怎麼去data那邊找 ??
03/26 21:03, 6F

03/26 21:04, , 7F
謝謝 樓上兩位版友幫忙 .. 我自己順便研究一下
03/26 21:04, 7F

03/26 21:07, , 8F
我的意思是不要把時間放進去算 用第2個column就好了
03/26 21:07, 8F

03/26 21:09, , 9F
關鍵字“索引“查一下
03/26 21:09, 9F

03/26 21:32, , 10F
恩 感謝您 ....
03/26 21:32, 10F

03/26 21:39, , 11F
在此也感謝 iccfish 版友的幫忙 謝謝 ...
03/26 21:39, 11F

03/26 22:42, , 12F
diff兩次 數值非0的index+1 就是波鋒波谷的index
03/26 22:42, 12F

03/27 00:01, , 13F
我剛剛試過diff兩次,應該是不行 因為出來很多都不是0耶
03/27 00:01, 13F
文章代碼(AID): #1Bh9D0-q (MATLAB)
文章代碼(AID): #1Bh9D0-q (MATLAB)