我有一个带有前导零和尾随零的小波函数。我想剥去小波之前或之后出现的所有零。但是,我不想删除小波本身内的任何零。为了简化,假设我有以下1x11向量:
0 0 0 -2 -1 0 -1 -2 0 0 0
删除前导零和尾随零后,矢量应为:
-2 -1 0 -1 -2
我的实际向量很大,性能是我主要考虑的问题。我是一名MATLAB新手,非常感谢有关如何尽可能高效地完成此任务的任何提示。
答案 0 :(得分:27)
试试这个
y = x(find(x,1,'first'):find(x,1,'last'));
find(x,1,'option')
命令为您提供第一个和最后一个非零索引。
答案 1 :(得分:10)
i1 = find(X, 1, 'first')
将为您提供X
i2 = find(X, 1, 'last')
会给你最后一个的索引。然后
X(i1:i2)
将为您提供剥离前导零和尾随零的数组。