How to find the nth is the higher than and closest to 0.3
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
yang-En Hsiao
am 2 Okt. 2019
Beantwortet: Shubham Gupta
am 2 Okt. 2019
A=[5 56 6.1 0.29 0.32 15 ]
I want to find a value which not only be the closest to 0.3,but also higher than 0.3
As we know ,0.32 should be the answer,and 0.32 is the 5th number in A vector,how do i write a code to let Matlab tell the 5th is higher and closest number to 0.3 ?
0 Kommentare
Akzeptierte Antwort
Star Strider
am 2 Okt. 2019
One approach:
A=[5 56 6.1 0.29 0.32 15 ];
Av = A(A > 0.3);
[~,idx] = min(abs(Av-0.3));
Out = Av(idx)
Idx = find(A == Out)
producing:
Out =
0.32
Idx =
5
This first selects the elements of ‘A’ that are larger than 0.3, then finds the closest value to 0.3. It then uses that value to find the position in ‘A’. (I also tested this on some random ‘A’ vectors.)
0 Kommentare
Weitere Antworten (1)
Shubham Gupta
am 2 Okt. 2019
One of the several ways:
A=[5 56 6.1 0.29 0.32 15 ];
[vec,ind] = sort(A);
id = find(vec>0.3,1);
rqd_value = vec(id) % Required Value
rqd_index = ind(id) % Required Index
0 Kommentare
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!