作业帮 > 综合 > 作业

matlab里面两个矩阵相乘,但是我只想取相乘的结果.我一般是用diag(A*B).不然这样中间很多乘法运算都浪费了,效

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/15 20:42:17
matlab里面两个矩阵相乘,但是我只想取相乘的结果.我一般是用diag(A*B).不然这样中间很多乘法运算都浪费了,效率很低啊!
例如:
>> A = [1 2 3;4 5 6;7 8 9];
>> B = [2 2 2;1 1 1;3 3 3 ];
>> A*B
ans =
13 13 13
31 31 31
49 49 49
>> diag(A*B)
ans =
13
31
49
我只想知道最后那3个结果,那么中间的A*B的很多乘加运算都是没必要的,有没有更好方法?matlab有无现成函数?用for循环的话我也会.
上面打错了,是“只想取相乘后的对角元”
clear
>> A = [1 2 3;4 5 6;7 8 9];
B = [2 2 2;1 1 1;3 3 3 ];
>> C=size(A);
>> for i=1:C(1)
D(i)=A(i,:)*B(:,i);
end
>> D
D =
13 31 49