如何编程一个以两个矩阵a和B为输入并输出乘积矩阵a*B的函数



如何编程一个以两个矩阵a和B为输入并输出乘积矩阵a*B的函数?使用MATLAB,带有循环和条件。

我的尝试:

function prodAB=MultiplicoMatrices(A,B)
prod=0;
prodAB=[];
for i=1:length(A)
for j=1:length(B)
prod=prod+A(i,j)*B(j,i);
end
prodAB(i,j)=prod;
prod=0;
end
A =
1     2
3     4
B=[5 6 ; 7 8]
B =
5     6
7     8
>> prodAB=MultiplicoMatrices([1 2; 3 4],[5 6; 7 8])
prodAB =
0    19
0    50

你是说三重循环算法?您可以按如下方式编写函数。

function prodAB = MultiplicoMatrices(A,B)
prodAB = zeros(size(A,1),size(B,2));
for i = 1:size(A,1)
for j = 1:size(B,2)
prod = 0;
for k = 1:size(A,2)
prod = prod + A(i,k) * B(k,j);
end
prodAB(i,j) = prod;
end
end
end

现在测试一下,

A = [1 2; 3 4];
B = [5 6; 7 8];
MultiplicoMatrices(A,B)
ans =
19    22
43    50
A * B
ans =
19    22
43    50

所以,它是有效的。

最新更新