Matlab - 求数组的零值与过零点索引(转)

function zeroindex=pickzero(x)
%找出数组的零值及过零点(正负相交处,可能偏离0)
m = length(x);
x1=x(1:m-1);
x2=x(2:m);
indz = find(x==0); %zero point
indzer = find(x1.*x2<0); %negative/positive
n=length(indzer);
for i=1:n
if abs(x(indzer(i)))>abs(x(indzer(i)+1))
indzer(i)=indzer(i)+1;
end
end
zeroindex=sort([indz indzer],2,'ascend');

posted @ 2017-09-20 16:51  Super_Jian  阅读(3882)  评论(0)    收藏  举报