"Insufficient number of outputs from right hand side of equal sign to satisfy assignment."

347 views (last 30 days)
Hi,
For a university project I'm having to code a K-Means clustering algorithm from scratch. As part of my code I have the following line:
[min, index] = min(NORMS);
On first run through of the code it works fine, but on the second iteration it always brings up the error "Insufficient number of outputs from right hand side of equal sign to satisfy assignment."
After clearing the variables and starting again it works fine, but again only for one iteration of the code.
Anyone have any ideas because I need to put it within a loop!
Cheers :)
  1 Comment
Daniel Szucs
Daniel Szucs on 23 Oct 2016
If we want it work we just need to write following your example a : "clear min clear index"
before we call in the min function. In that case the code works.

Sign in to comment.

Accepted Answer

James Tursa
James Tursa on 11 Nov 2015
You likely have inadvertently created a variable named "min" in your code, which is shadowing the function min. Go find that variable and use a different name.
  12 Comments

Sign in to comment.

More Answers (1)

BHANESH BHADRECHA
BHANESH BHADRECHA on 29 Jan 2016
Edited: BHANESH BHADRECHA on 29 Jan 2016
that is because your output variable name and function name both are same.
for example
[stft, t, f]= stft(x,wlen,nfft);
in above function output variable in left hand side is stft and in right hand side function name is stft also.
so check this type of errors in your code.
or in matlab program you have created a variable which is already inbuilt function name of MATLAB.

Categories

Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!