Error “Assignment has more non-singleton rhs dimensions than non-singleton subscripts”?
91 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
fatemeh
il 23 Ott 2013
Commentato: Anshu Khare
il 25 Gen 2021
Why do I get the error “Assignment has more non-singleton rhs dimensions than non-singleton subscripts”?
3 Commenti
Walter Roberson
il 23 Feb 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
il 25 Gen 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
Risposta accettata
Walter Roberson
il 23 Ott 2013
Modificato: MathWorks Support Team
il 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 Commenti
Più risposte (1)
CHANDRA
il 29 Ago 2016
what is the possible solution for this error
3 Commenti
math man
il 6 Set 2017
Modificato: Walter Roberson
il 7 Set 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
il 24 Dic 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!
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!