Identify an array of arbitrary minimum values. Alternatives to min / find ?
이전 댓글 표시
I would like to identify the occurences (index) of an arbitrary value within a Vector. The values I wish to identify will be close to but may not be exactly equal to this value.
For example having obtained the vector [Vector,t] = lsim(G,u,t) I would like to identify those points where the Vector assumedly intersects a horizontal line of given amplitude plot([X1 X2],[Y1 Y1])
I can obtain the first value quite simply with something along the lines of
[index value] = min(abs(abs(Vector) - abs(arbitrary_value)))
The find function is of some assitance however it requires that the arbitrary value equals the value of an element within the Vector exactly. Hence Idxs = find(A==MinValue) does not return a value within proximity of the intersection (or any point for that matter)
I thought I might be able to scrape by with a for loop i.e.
for i = 1:length(Vector)
if (Vector(i) - arbitrary_value) < tolerance
index(k) = i;
Value(k) = y(i);
k = k+1;
end
end
however it is far from an attractive or precise solution.
Any suggestions would be welcome.
Regards
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Programming에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!