请求Matlab大神编辑程序! 编写一个函数,得到两个矩阵A和B的相乘的结果,函数的形式必须是

请求Matlab大神编辑程序!

编写一个函数,得到两个矩阵A和B的相乘的结果,函数的形式必须是
[ matrixproduct] = matmult_学籍(A, B )

在函数中必须检查A和B的大小是否匹配(相等才能做乘法),相乘计算在3层的循环中完成。
然后用系统自带算法计算相乘。不需要显示出来,后台运行就可以了。

函数文件matmult_20150101.m

function matrixproduct = matmult_20150101(A, B)
[m,n] = size(A);
[x,y] = size(B);
if(n~=x)
    disp(['矩阵维度不匹配'])
    return
end
matrixproduct = zeros(m,y);
for i=1:m
    for j=1:y
        for k=1:n
            matrixproduct(i,j) = matrixproduct(i,j) + A(i,k)*B(k,j);
        end
    end
end

调用示例

>> A=[1 2 3;4 5 6];
>> B = [1 1 1 1;2 3 4 5];
>> C = [1 1 1 1;2 3 4 5;3 4 5 6];

>> matmult_20150101(A, B)
矩阵维度不匹配

>> matmult_20150101(A, C)
ans =
    14    19    24    29
    32    43    54    65

>> A*C  % 直接计算
ans =
    14    19    24    29
    32    43    54    65

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答