首页 文章

MATLAB - 从向量中删除前导和尾随零

提问于
浏览
21

我有一个带有前导零和尾随零的小波函数 . 我想剥去小波之前或之后出现的所有零 . 但是,我不想删除小波本身内的任何零 . 为了简化,假设我有以下1x11向量:

0 0 0 -2 -1 0 -1 -2 0 0 0

删除前导和尾随零后,向量应为:

-2 -1 0 -1 -2

我的实际向量很大,性能是我最关心的问题 . 我是一名MATLAB新手,非常感谢有关如何尽可能高效地完成此任务的任何提示 .

2 回答

  • 10

    试试这个

    y = x(find(x,1,'first'):find(x,1,'last'));
    

    find(x,1,'option') 命令为您提供第一个和最后一个非零索引 .

  • 27
    i1 = find(X, 1, 'first')
    

    会给你 X 的第一个非零元素的索引

    i2 = find(X, 1, 'last')
    

    会给你最后一个的索引 . 然后

    X(i1:i2)
    

    将为您提供带有前导和尾随零的数组 .

相关问题