天天看點

矩形波起點定位算法的MATLAB實作2020-12-23問題描述

問題描述

矩形波起點定位算法的MATLAB實作2020-12-23問題描述

如圖示,一個矩形波,現在要求定位該波的起跳點。一般算法可以采用間隔一定點數(比如50點)的兩個點,逐次周遊整個波形,計算間隔兩點之間的斜率,斜率開始變得最大的點可以作為該波形的起始點。

這種傳統算法是逐點周遊,效率較低。可以采用折半查找法進行定位。

算法思想:

首先選取曲線上最大值P2, 以曲線起點P1,最大值P2的中點P3,比較P2P3, P1P2直線斜率,來決定下一個中點P3’ 的取值。

兩斜率之差>0,在P1, P3範圍内取中值,更新P3點為P2點,P3’ 點為P3點,P1點保持不變,更新計算P2P3, P1P2的斜率

兩斜率<0, 在P2,P3範圍内取中值。更新P3’點為P1點,P2點保持不變,P3點更新為新的P1P2的中點。更新計算P2P3,P1P2的斜率。

繼續閱讀