Error using * inner matrix dimensions must agree
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposte (2)
James Tursa
il 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 Commenti
James Tursa
il 14 Apr 2015
Modificato: James Tursa
il 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
il 14 Apr 2015
Modificato: Star Strider
il 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 Commenti
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!