Subscripted assignment dimension mismatch.(matrices)
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
cakey
am 30 Nov. 2014
Kommentiert: John D'Errico
am 30 Nov. 2014
J = eye(4); % 4x4 identity matrix
u = sum(x);
N=[exp(cos(u))*sin(u),exp(cos(u))*sin(u),exp(cos(u))*sin(u),exp(cos(u))*sin(u);
2*exp(cos(2*u))*sin(2*u),2*exp(cos(2*u))*sin(2*u),2*exp(cos(2*u))*sin(2*u),2*exp(cos(2*u))*sin(2*u);
3*exp(cos(3*u))*sin(3*u),3*exp(cos(3*u))*sin(3*u),3*exp(cos(3*u))*sin(3*u),3*exp(cos(3*u))*sin(3*u);
4*exp(cos(4*u))*sin(4*u), 4*exp(cos(4*u))*sin(4*u),4*exp(cos(4*u))*sin(4*u),4*exp(cos(4*u))*sin(4*u)];
for i=1:4
for j=1:4
J(i,j) = J(i,j) + N
end
end
But I get that error message, how can I make this work?
8 Kommentare
John D'Errico
am 30 Nov. 2014
Probably because in this latest code, you have written this as a function, where you pass in some variable x. But then you overwrite what you passed in as x, using a variable u, but you have not defined u until after x is created, as a function of u!
Perhaps you need to think about what you are trying to do.
Akzeptierte Antwort
the cyclist
am 30 Nov. 2014
It looks like N is a 4x4 matrix, and you are trying to assign it to just one position of J.
It is difficult to know what was intended here, instead of
for i=1:4
for j=1:4
J(i,j) = J(i,j) + N
end
end
maybe it should just be
J = J + N
That is just a pure guess, based on the size of the matrices.
Weitere Antworten (1)
John BG
am 30 Nov. 2014
Have you tried 1. allocate initial J just after defining N to make sure J and N have same size with: J=zeros(size(N))
2. Instead of 2 for loops, would it be ok for you to use J=J'+N
0 Kommentare
Siehe auch
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!