MATLAB - ベクトルから先頭と末尾のゼロを削除する 質問する

MATLAB - ベクトルから先頭と末尾のゼロを削除する 質問する

先頭と末尾にゼロがあるウェーブレット関数があります。ウェーブレットの前または後に発生するすべてのゼロを削除したいと思います。ただし、ウェーブレット自体の中のゼロは削除したくありません。簡単にするために、次の 1x11 ベクトルがあるとします。

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

先頭と末尾のゼロを削除した後のベクトルは次のようになります。

-2 -1 0 -1 -2

実際のベクトルは大きく、パフォーマンスが最大の懸念事項です。私は MATLAB 初心者ですが、このタスクをできるだけ効率的に達成するためのヒントがあれば教えていただければ幸いです。

ベストアンサー1

これを試して

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

このfind(x,1,'option')コマンドは、最初と最後のゼロ以外のインデックスを返します。

おすすめ記事