Error using * inner matrix dimensions must agree
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have written a function in which one line is B = A*i; where A is a matrix and i is a scalar quantity.
i am calling this function many times around 4000 and the problem is for some time this statement is executing properly and after some time this error is showing at this line i do not know why. One more thing is that the function is executing different number of times when i am running it again and again.
Thank you.
0 Kommentare
Antworten (2)
James Tursa
am 14 Apr. 2015
Most likely i is not a scalar, hence the error. Try stopping on the error and then examining the dimensions to see what is going on.
dbstop if error
% then run your code
2 Kommentare
James Tursa
am 14 Apr. 2015
Bearbeitet: James Tursa
am 14 Apr. 2015
Look upstream in your code. Where do you define i? You must be defining it somewhere otherwise i would default to the inbuilt imaginary unit.
Star Strider
am 14 Apr. 2015
Bearbeitet: Star Strider
am 14 Apr. 2015
If ‘i’ is always a scalar, it should’t be throwing that error. Add this line before the ‘B’ assignment:
if sum(size(i)) ~= 2
fprintf(['\n\ti = ' repmat('%f ', 1, length(i)) '\n'], i)
end
B = A*i;
That will tell you if ‘i’ has somehow become a vector.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!