I want dot product of two matrix of shape (1,2)(2,3) but when I try it using dot(A,B) it thows an error to make the dimension same.
I am new to matlb, started today. any help is appreciated.
Thanks,
Kartik

 채택된 답변

VBBV
VBBV 2020년 9월 21일
편집: VBBV 2020년 9월 21일

0 개 추천

Matrices must be of same size to perform dot product. size_of A must be same as _size of B. You have A = 2x1 and B as 3x2. If A = 2x1 then B should also have 2x1 I.e. 2 rows and 1 column

댓글 수: 3

Kartik Kartik
Kartik Kartik 2020년 9월 21일
편집: Kartik Kartik 2020년 9월 21일
Thanks for such a quick response vasishta. But we can multiply matrices with dimen mXn and nXm. why does it have to be same. what to do if I can not make them same and still want the multiplication.
Algebraic Matrix Multiplication ("inner product") of a m x n matrix A and an n x p matrix B is defined as
C(i,j) = dot(A(i,:), B(:,j).')
which is
C(i,j) = sum(A(i,:).*B(:,j).')
However, dot product of two matrices A, B is defined in MATLAB as
C(1,i) = dot(A(:,i), B(:,i))
which requires that the two arrays be the same size.
If you want to be able to do dot product of two matrices of different sizes, you are going to need to define how you want the output to be calculated.
For example if your 1 x 2 is A and your 2 x 3 is B, then do you want
dot( repmat(A.', 1, size(B,2)), B) %-> 1 x 3 result
dot( repmat(A, size(B,2), 1), B.') %-> 1 x 2 result
VBBV
VBBV 2020년 9월 22일
@Kartik. You mentioned about the general rule for matrix multiplication. The other option is to make A and B of same size as shown in Walter comment using repmat.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

태그

질문:

2020년 9월 21일

댓글:

2020년 9월 22일

Community Treasure Hunt

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

Start Hunting!

Translated by