Azzera filtri
Azzera filtri

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

91 visualizzazioni (ultimi 30 giorni)
Why do I get the error “Assignment has more non-singleton rhs dimensions than non-singleton subscripts”?
  3 Commenti
Walter Roberson
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
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

Accedi per commentare.

Risposta accettata

Walter Roberson
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

Accedi per commentare.

Più risposte (1)

CHANDRA
CHANDRA il 29 Ago 2016
what is the possible solution for this error
  3 Commenti
math man
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
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!

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by