Finding corresponding values in data set
조회 수: 1 (최근 30일)
이전 댓글 표시
I have a set of matrices each with 4 columns. I want to extract the value of the 1st column corresponding to the 0 in the second column and plot that point. How can I do this? and for cases where there is no exact zero, interpolate between the two values that cross 0?
댓글 수: 2
Walter Roberson
2022년 9월 16일
Is there always exactly one 0 or zero crossing, or could there be several?
are the values in that column sorted?
채택된 답변
Star Strider
2022년 9월 16일
편집: Star Strider
2022년 9월 16일
I would just do the interpolation using interp1 since it will interpolate to 0 or the closest value to it.
Try this —
M = randn(10,4)
L = size(M,1);
idx = find(diff(sign(M(:,2))))
for k = 1:numel(idx)
idxrng = max(1,idx(k)-1) : min(L,idx(k)+1);
Result(k,:) = interp1(M(idxrng,2), M(idxrng,:),0);
end
Result
EDIT — Aesthetic tweaks.
.
댓글 수: 4
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!