Error in using find

Hello,
I am using find(a==min(a),1) to find the index of minimum element of "a" which is a row vector. I am looking for the first minimum, in fact. However, I am receiving this error:
??? Subscript indices must either be real positive integers or logicals.
I am really confused since I am using the same syntax in another code and it's working perfectly there. But I can't see what might go wrong here.
Any help would be appreciated. Saeed

 Accepted Answer

Wayne King
Wayne King on 10 Feb 2012
Did you by any chance assign a variable as min? Because min is a MATLAB function, if you also create a variable, min, (never a good idea), you will get that error. Enter:
>>which min
and see what you get. To demonstrate that error:
min = 2;
a = randn(1,4);
find(a==min(a),1)
You should then clear min

More Answers (1)

Saied
Saied on 10 Feb 2012

0 votes

I had actually defined min as a variable in my code. I changed it and problem is resolved.
Thank you.

Tags

Asked:

on 10 Feb 2012

Community Treasure Hunt

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

Start Hunting!