matrix multiplication
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 ?
0 comentarios
Respuesta aceptada
Wayne King
el 2 de Oct. de 2011
It's just telling you that the two matrices are not conformable for multiplication. The number of columns in V has to match the number of rows in U'
RR = randn(10,10)*(randn(2,10))'; % is ok
RR = randn(10,10)*(randn(10,12))'; % is not
2 comentarios
Wayne King
el 3 de Oct. de 2011
.* is element by element multiplication so,
x = randn(10,1);
y = randn(10,1);
z = x.*y; % this is ok -- multiply x and y element by element
but
x*y % errors
Más respuestas (2)
Rick Rosson
el 2 de Oct. de 2011
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
0 comentarios
Rick Rosson
el 3 de Oct. de 2011
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
Ver también
Categorías
Más información sobre Phased Array Design and Analysis en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!