matlab 如何编写一个将两个矩阵A和B作为输入并输出乘积矩阵A*B的函数?

2fjabf4q  于 2022-11-15  发布在  Matlab
关注(0)|答案(1)|浏览(195)

如何编写一个将两个矩阵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
tsm1rwdh

tsm1rwdh1#

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

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

所以,它起作用了。

相关问题