【发布时间】:2017-04-25 16:23:17
【问题描述】:
在 MATLAB 中,给定一个矩阵 A,我想创建一个矩阵 B,其中包含矩阵 A 的元素占第一列元素的百分比。下面的代码做到了:
A = randi(5,6);
B = zeros(size(A,1), size(A,2));
for kk = 1:size(A,2)
B(:,kk) = (A(:,kk).*100)./ A(:,1)-100;
end
但是,如何通过矢量化在单行中实现相同的结果? arrayfun 在这件事上有用吗?
【问题讨论】:
-
ii上的外层循环不执行任何操作,因此您只需将整个矩阵除以第一列即可。 -
@beaker 我刚刚编辑了问题以使其更清晰
标签: matlab for-loop vectorization