Effacer les filtres
Effacer les filtres

Error “Assignment has more non-singleton rhs dimensions than non-singleton subscripts”?

86 vues (au cours des 30 derniers jours)
Why do I get the error “Assignment has more non-singleton rhs dimensions than non-singleton subscripts”?
  3 commentaires
Walter Roberson
Walter Roberson le 23 Fév 2017
pratik patel:
Please show us
size(X)
size(Y)
size(Z)
size(Vm)
I suspect that you have created either Z or Vm as global variables and failed to initialize them, which would leave them as empty, resulting in an empty right hand side.
Anshu Khare
Anshu Khare le 25 Jan 2021
bankans(i,:)=sum(bsxfun(@times, ft(i,:), H).^2,2);
Assignment has more non-singleton rhs dimensions than non-singleton subscripts
i am getting this error.please help me

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 23 Oct 2013
Modifié(e) : MathWorks Support Team le 27 Nov 2018
In R2017b and earlier releases, this error occurs when you try to assign to a variable, but the indices of the left- and right-hand side of the assignment are incompatible. For example,
A(1) = [1 2 3];
throws this error because the size of the left-hand side is 1-by-1, but the size of the right-hand side is 1-by-3.
In R2018a and later, there is a new error message that replaces this error:
Unable to perform assignment because the indices on the left side are not compatible with the size of the right side.
For more information on matrix indexing, see:
  3 commentaires
Adam
Adam le 18 Juil 2016
I imagine it is just a typo.

Connectez-vous pour commenter.

Plus de réponses (1)

CHANDRA
CHANDRA le 29 Août 2016
what is the possible solution for this error
  3 commentaires
math man
math man le 6 Sep 2017
Modifié(e) : Walter Roberson le 7 Sep 2017
I am getting the same error. But very curiously, if I go to the offending line (with a stop in the debugger), then press play, the error does not occur.
Here is some of the error/code:
Error in RealTime_SpreadOverWrite (line 11)
MainObject.MarketData(Row,SpreadBaseCol)=ViggedProbMat(Row,TextFind('SpreadBase1',RawMarketLabels))*SpreadSignMult;
The relevant values for the operation are all real-scalars which I can see are present when I put a stop before executing this line.
Puzzling- what code can I show to help solve this? Thanks!!
Greg Coyle
Greg Coyle le 24 Déc 2017
Great answer, Walter, thank you. I'd been checking length rather than size and all I needed to do was throw a transpose operator on one variable. Solved!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical 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