【发布时间】:2015-08-24 02:28:53
【问题描述】:
我需要一个在 Matlab 中快速的方法来做这样的事情(我正在处理巨大的向量,所以一个正常的循环需要很长时间!):
来自像
这样的向量[0 0 2 3 0 0 0 5 0 0 7 0]
我需要得到这个:
[NaN NaN 2 3 3 3 3 5 5 5 7 7]
基本上,每个零值都替换为前一个非零值的值。第一个是NaN,因为之前没有非零元素
在向量中。
【问题讨论】:
-
最接近或上一个,您的示例输出显示您正在用以前的非零值替换零,而不是最接近的...
-
是的,对不起..你是对的..我想要前一个。我会修改问题..
-
可能有趣的替代代码:stackoverflow.com/questions/27950664/…
标签: matlab indexing vectorization