matrix multiplication

7 ビュー (過去 30 日間)
Fatma Gargouri
Fatma Gargouri 2011 年 10 月 2 日
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 ?

採用された回答

Wayne King
Wayne King 2011 年 10 月 2 日
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 件のコメント
Fatma Gargouri
Fatma Gargouri 2011 年 10 月 3 日
ok so it must that the number of rows = colomns !!
and what is the diffrence between * and .* ?
Wayne King
Wayne King 2011 年 10 月 3 日
.* 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

サインインしてコメントする。

その他の回答 (2 件)

Rick Rosson
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
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
  1 件のコメント
Fatma Gargouri
Fatma Gargouri 2011 年 10 月 3 日
thank you Rick
this is very helpful
I should then review my code and verify the sizes of matrix

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by