Subscripted assignment dimension mismatch.(matrices)
조회 수: 1 (최근 30일)
이전 댓글 표시
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
John D'Errico
2014년 11월 30일
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.
채택된 답변
the cyclist
2014년 11월 30일
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.
추가 답변 (1개)
John BG
2014년 11월 30일
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
참고 항목
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!