matlab中的多个矩阵没有递归

Vim*_*987 3 matlab matrix

我必须编写一个执行此操作的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
Run Code Online (Sandbox Code Playgroud)

要求不使用递归.我不知道解决这个问题.很高兴你可以提供帮助.谢谢.

Pet*_*ete 10

就像FYI - bsxfun +函数句柄一样,它是在矩阵和向量上执行操作的新热点,其中至少一个矩阵维度与一个向量维度匹配.这避免了明显的rempat,这可能是缓慢和浪费的:

a = 1:5;
b = magic(5);

c = bsxfun(@times,a,b);

但要小心 - 这只适用于相对较新的MATLAB版本.-pete