簡體   English   中英

如何編寫一個 function 以兩個矩陣 A 和 B 作為輸入並輸出乘積矩陣 A*B?

[英]How do I program a function that takes two matrices A and B as input and outputs the product matrix A*B?

如何編寫一個 function 以兩個矩陣 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。

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

所以,它有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM