Multiplying 2 Matrices A and B from Scratch (not built in function
Afficher commentaires plus anciens
How can i write a matlab function which accepts two Matrices A and B and from scratch(indexing - not built in functions) multiplies them together. in the case that they can not be multiplied together simply return an empty matrix ([])
1 commentaire
dpb
le 16 Juin 2019
Obviously homework...show your work to date and where, specifically, you got stuck on a Matlab-related question.
Of course, you start with the definition of what matrix multiplication is...
Réponses (2)
Manvi Goel
le 17 Juin 2019
Here you go
function result = mult(a, b)
[r1, c1] = size(a);
[r2, c2] = size(b);
if( c1 == r2)
result = zeros(r1, c2);
for i = 1: r1
for j =1:c2
for k = 1:r2
result(i,j) = result(i,j) + a(i,k) * b(k,j);
end
end
end
else
result = [];
end
disp(result)
end
3 commentaires
madhan ravi
le 17 Juin 2019
Providing a complete solution to a homework problem is totally not recommended in this forum.
Mark
le 8 Oct 2024
@madhan buzzkill
Walter Roberson
le 8 Oct 2024
It's okay in this case, because the provided code is incorrect.
Aniket
le 8 Août 2026
function C = matrixMultiply(A, B)
n = size(A,1);
C=zeros(n,n);
for i=1:n
for j=1:n
sum=0;
for k=1:n
sum=sum+A(i,k)*B(k,j);
end
C(i,j)=sum;
end
end
end
3 commentaires
Aniket
le 8 Août 2026
I find this to be the simplest way to solve this problem.
Walter Roberson
le 8 Août 2026
C=zeros(n,n);
That code is incorrect. Multiplying an n x m matrix by an m x p matrix should generate an n x p matrix.
Let's test.
A = [1 2; 3 4]; B = [2 3 4; 5 6 7]; C = [8; 9];
A*B
matrixMultiply(A,B)
A*C
matrixMultiply(A,C)
function C = matrixMultiply(A, B)
n = size(A,1);
C=zeros(n,n);
for i=1:n
for j=1:n
sum=0;
for k=1:n
sum=sum+A(i,k)*B(k,j);
end
C(i,j)=sum;
end
end
end
Catégories
En savoir plus sur Linear Algebra dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!