Error “Assignment has more non-singleton rhs dimensions than non-singleton subscripts”?
86 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
fatemeh
el 23 de Oct. de 2013
Comentada: Anshu Khare
el 25 de En. de 2021
Why do I get the error “Assignment has more non-singleton rhs dimensions than non-singleton subscripts”?
3 comentarios
Walter Roberson
el 23 de Feb. de 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
el 25 de En. de 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
Respuesta aceptada
Walter Roberson
el 23 de Oct. de 2013
Editada: MathWorks Support Team
el 27 de Nov. de 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 comentarios
Más respuestas (1)
CHANDRA
el 29 de Ag. de 2016
what is the possible solution for this error
3 comentarios
math man
el 6 de Sept. de 2017
Editada: Walter Roberson
el 7 de Sept. de 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
el 24 de Dic. de 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!
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!