matrix multiplication
이전 댓글 표시
Hello,
I m wrinting a code for itertaive closest point and i got this error
??? Error using ==> mtimes
Inner matrix dimensions must agree.
RR=V * U';
V and U are two matrix in diffent size what do you think ?
채택된 답변
추가 답변 (2개)
Rick Rosson
2011년 10월 2일
Please try the following:
[M,N] = size(V);
[P,Q] = size(U');
if N==P
fprintf('ok\n\n');
else
fprintf('error\n\n');
end
Rick Rosson
2011년 10월 3일
Using * by itself will perform matrix multiplication, whereas using .* will perform element-by-element multiplication.
- For matrix multiplication, e.g. A*B, the number of columns in A must equal the number of rows in B.
- For element-by-element multiplication, e.g. A.*B, the size and shape of both A and B must be exactly the same. In other words, if A is M x N, then B must also be M x N.
- For more information, please see: Arithmetic Operators
- You can use the size function to compute the size and shape of any given array.
- You can use the assert function to test for the truth of a logical expression. For example:
assert(size(A,2) == size(B,1), ...
'The inner dimensions of A and B do not agree.');
HTH.
Rick
카테고리
도움말 센터 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!