MATLAB找到符号转换点

时间:2017-10-17 17:31:14

标签: matlab signals

我有一个由下图所示的信号

enter image description here

现在,我想找到此信号过零的点,或更改符号

我编写了一个代码来查找本地/全局最大/最小点,以便我可以设置我找到过零点(符号变换点)时的间隔

但是,我无法使用MATLAB找到过零点

我的原始数据是3D数组(450x450x200),其中450x450代表区域,200代表时间轴

因此,当我拍摄(例如)(200,200)点和绘图时,我会得到如上所示的信号图。

所以,我的问题是:

  • 如何在特定时间间隔内找到过零(或符号变化)点?

1 个答案:

答案 0 :(得分:0)

您可以为y轴数据执行简单的for循环:

for idx = 2:lengthOfData  % or an interval
    if sign(data(idx))*sign(data(idx-1)) == -1
        disp(data(idx))    % Or whatever you want to do with the idx
    end %if
end %for

或者您可以使用find来搜索给定的条件范围(数据大约为零),但它不会给出某些位置,例如数据是否会在零附近转变。