Dot product not working for 2d matrix
    3 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Kartik Kartik
 el 21 de Sept. de 2020
  
    
    
    
    
    Comentada: VBBV
      
      
 el 22 de Sept. de 2020
            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
0 comentarios
Respuesta aceptada
  VBBV
      
      
 el 21 de Sept. de 2020
        
      Editada: VBBV
      
      
 el 21 de Sept. de 2020
  
      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 comentarios
  Walter Roberson
      
      
 el 22 de Sept. de 2020
				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
      
      
 el 22 de Sept. de 2020
				@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.
Más respuestas (0)
Ver también
Categorías
				Más información sobre Creating and Concatenating Matrices 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!


