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

536 vues (au cours des 30 derniers jours)
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 commentaire
Daniel Szucs
Daniel Szucs le 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.

Connectez-vous pour commenter.

Réponse acceptée

James Tursa
James Tursa le 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.
  11 commentaires
Rafael Fataça
Rafael Fataça le 9 Oct 2021
Saving tired people since 2015, thank you

Connectez-vous pour commenter.

Plus de réponses (1)

BHANESH BHADRECHA
BHANESH BHADRECHA le 29 Jan 2016
Modifié(e) : BHANESH BHADRECHA le 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.

Catégories

En savoir plus sur Statistics and Machine Learning Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by