Info
この質問は閉じられています。 編集または回答するには再度開いてください。
How can I get a matrix B of the indexes in a matrix A that satisfy the following —i representing index— A(i-1)>0 && A(i+1)<0?
1 回表示 (過去 30 日間)
古いコメントを表示
How can I get a matrix B of the indexes in a matrix A that satisfy the following —i representing index— A(i-1)>0 && A(i+1)<0?
Im ploting an oscillating graph, and would like to get indexes of rate of change closest to 0, in order to get the frequency.
0 件のコメント
回答 (2 件)
Star Strider
2017 年 12 月 24 日
‘Im ploting an oscillating graph, and would like to get indexes of rate of change closest to 0, in order to get the frequency.’
If you want to find the indices of the zero-crossings of your data, this little utility function could help:
zci = @(v) find(v(:).*circshift(v(:), [-1 0]) <= 0); % Returns Approximate Zero-Crossing Indices Of Argument Vector
0 件のコメント
Roger Stafford
2017 年 12 月 25 日
B = find(A(1:end-2)>0 & 0>A(3:end)) + 1;
Note that the "+1" is necessary here. For example. if A(1)>0 and A(3)<0, we would want to get an index of 2 included in B, but without the "+1" 'find' would record it as an index of 1.
0 件のコメント
この質問は閉じられています。
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!