【发布时间】:2019-10-07 17:05:57
【问题描述】:
我有一个10x5 双矩阵mat。我还有一个1x5 行向量start_rows。在mat 中,我想使用start_rows 替换特定行之后的所有数字。我可以使用循环并逐列替换所有数字。不过,我确信有一些矢量化解决方案。
mat = nan(10, 5);
start_rows = [3,5,1,7,2];
% How to avoid that loop
for idx = 1 : numel(start_rows)
mat(start_rows(idx):end, idx) = 1;
end
【问题讨论】:
-
你的原始矩阵总是全零吗?您是否总是用一个替换(或者如果不是 - 是某个恒定值)?
-
我将替换为常数值,例如 +1 或 -1。
标签: matlab matrix multidimensional-array replace vectorization