[英]How do I program a function that takes two matrices A and B as input and outputs the product matrix 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? Using MATLAB, with loops and conditionals.使用带有循环和条件的 MATLAB。
My attempt:我的尝试:
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
You mean the triple-loop algorithm?你的意思是三环算法? You could write the function as follows.您可以按如下方式编写 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
Now test it,现在测试一下,
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
so, it works.所以,它有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.