I need more help..
I have script looks like this
A = [2 5 9 15];
f = input('Enter input : ');
[val, idx]=sort(abs(f-A));
[val, idx]=min(abs(f-A));
A(idx)
If the input I enter is 3
Of course the output of A(idx) was 2
But I want the value output are 5 (the second closest of 3).
As well as for different inputs.
Please help me..
Thanks before

Réponses (1)

KL
KL le 12 Mai 2017

0 votes

[val, idx]=sort(abs(f-A));
A(idx(2))

3 commentaires

For the first line, even better if you're not using val:
[~, idx] = sort(abs(f-A));
which makes it clear that you only want the indices.
KL
KL le 12 Mai 2017
Modifié(e) : KL le 12 Mai 2017
true, I just copy pasted her code
Yuli Hartini
Yuli Hartini le 12 Mai 2017
Thank you guys..
This is very helpful.

Connectez-vous pour commenter.

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by