Multiplying 2 Matrices A and B from Scratch (not built in function
이전 댓글 표시
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
dpb
2019년 6월 16일
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...
답변 (2개)
Manvi Goel
2019년 6월 17일
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
madhan ravi
2019년 6월 17일
Providing a complete solution to a homework problem is totally not recommended in this forum.
Mark
2024년 10월 8일
@madhan buzzkill
Walter Roberson
2024년 10월 8일
It's okay in this case, because the provided code is incorrect.
Aniket
2026년 8월 8일 4:30
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
Aniket
2026년 8월 8일 4:31
I find this to be the simplest way to solve this problem.
Walter Roberson
2026년 8월 8일 8:55
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
카테고리
도움말 센터 및 File Exchange에서 Linear Algebra에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!