2016-05-12 2 views
0

ゼロでないmatlabベクトルの最後のエントリを読み取る方法はありますか? 私は行列1x20を持っていて、whileループの反復に依存して値を書き出します。 whileループのカウンタのサイズの行列を作成しようとしましたが、ゼロコマンドがすべてのループで上書きされるため、それは機能しません。任意の提案Matlabはゼロ以外のベクトルの最後のエントリを読み取る

+0

たぶん間違って何が起こっているのか – Steve

答えて

2

find functionため

おかげで、アレイ内の非ゼロのエントリを探し、そしてそれはあなたが、「一つだけ、端から見ている」と言わせてオプションを取ります。

+0

注示し、いくつかの簡単なコード例ポスト:あなたは 'IDX =検索(myvector、1、「最後」)を行うので、もし、リターン・インデックスではなく、数字を見つける;'あなた」をあなたが番号を探しているなら、 'lastnonzeronumber = myvector(idx);を実行する必要があります。 –

+1

@HughNolanまたは '[〜、〜、val] = find(myVector、1、 'last')' ;-) –

1

ではないmatlabベクトルの最後のエントリを読み取る方法はありますか?

a = [3 5 2 1 0 2 2 0 0 1 2 3 6 0 0 0 0] 
ind = find(a ~= 0, 1, 'last') 
val = a(ind) 
関連する問題