0
私はこのマトリックスを有する:他の列にある数字に基づいて列を新しい配列に保持する方法は?
aux333=[2 0 ;
2 0 ;
2 0 ;
2 0 ;
2 0 ;
2 0 ;
2 0 ;
2 0 ;
2 0 ;
2 0 ;
2 0 ;
2 0 ;
2 0 ;
2 0 ;
2 0 ;
2 70 ;
3 0 ;
2 0 ;
2 0 ;
2 0 ;
2 0 ;
2 0 ;
2 0 ;
2 208;
2 0 ;
2 0 ;
2 0 ;
2 0 ;
2 0 ;
0 37 ;
0 0 ;
0 0 ;
0 0 ;
0 0 ]
を、私は、最初の列は、新しい配列(aux3final
)はaux333
の第2列を受信する、ゼロと異なる場合、いくつかのコードを書きたいです。
私はこのようにそれを書いてみました:
for j=1:length(aux333)
if aux333(j,1)==2 | aux333(j,1)==3
aux3final(j)=aux333(j,2);%%aux3final tá com dimensão 296, devia estar com dimensão 69
end
が、これはまったく機能していません。どうやって進める?
元のコードは私が投稿したものよりも大きく、影響を与える変数がいくつかあります。
もしあれば、2番目の列全体をコピーしますか?最初の列の要素はゼロではありませんか?または、最初の列の要素がゼロでない2列目の行のみをコピーしますか? –
あなたのコードから、あなたは後者を望むようです。必要な出力が得られているはずです。 (元のコードで 'end'を使うのを忘れたのですか?)簡単な方法は' aux3final = aux333(logical(aux333(:1))、2) 'です。 –
あなたの質問をきれいにするには、読者がスクロールする必要がないように、サンプルテーブルのいくつかの行を削除することをお勧めします。それを保つ[最小限で完全で、検証可能な例](https://stackoverflow.com/help/mcve) –