【转】MATLAB学习笔记:求导数 https://blog.youkuaiyun.com/u014147522/article/details/78896384
目的:找到曲线与坐标的交叉点,数学含义为,y=0或者x=0。
根据数学意义写代码如下:
若y=f(x),找到所有y=0的点既可找到交叉点,即:
a=find(y==0);% 不能识别交叉点,因为数据往往为离散信号,在将信号进行离散化的时候,交叉点被错过,而未取得。
改变策略:寻找数据 正负号 转变点。
利用diff函数。
>> a=[1,2,3,-1,-2,-3,3,2,1,-2];
>> b=diff(a>0) % 识别负号出现改变位置。
b =
0 0 -1 0 0 1 0 0 -1
>> c=find(b==-1)+1 %识别正转变为负的位置
c =
4 10
>> d=find(b==1)+1 %识别负转变为正的位置
d =
7
参考文献