PDA

查看完整版本 : Matlab中的多个矩阵,无需递归


poster
2019-12-10, 16:49
我必须编写执行此操作的Matlab脚本:

输入是2个矩阵,A(mxn)和D(mx 1)。输出是矩阵C(mxn)。 C的计算如下:

function c = scanrow(a,d) [rows columns] = size(d); for i=1:columns a(i,:) = a(i,:).*d(i); end c = a; end 要求不使用递归。我不知道要解决这个问题。很高兴您能提供帮助。谢谢。


回答:
如果问题是“将A的每一行中的每个元素与D的相应行中的相应元素相乘”,那么我建议以下几点:

dd = repmat(d, 1, size(a, 2)) c = a.*dd 例:

>> a = [1 2; 3 4; 5 6]; >> d = [1 2 3]'; >> dd = dd = repmat(d, 1, size(a, 2)) dd = 1 1 2 2 3 3 >> a.*dd ans = 1 2 6 8 15 18

更多&回答... (https://stackoverflow.com/questions/845389)