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

337 次查看(过去 30 天)
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 个评论
Daniel Szucs
Daniel Szucs 2016-10-23
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.

请先登录,再进行评论。

采纳的回答

James Tursa
James Tursa 2015-11-11
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.
  11 个评论

请先登录,再进行评论。

更多回答(1 个)

BHANESH BHADRECHA
BHANESH BHADRECHA 2016-1-29
编辑:BHANESH BHADRECHA 2016-1-29
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.

Community Treasure Hunt

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

Start Hunting!

Translated by