0
私は3つの巨大な配列:Array1
,Array2
およびArray3
を持っています。すべてが同じサイズで、その寸法は7000000x1
です。私はMATLABでfind
コマンドを使用して、共通の条件を満たして配列のインデックスを見つけようとしていますmatlabで条件を満たす複数の配列のインデックスを整える
、私はa、b、cは、すべてスカラー値を含んでいる。このよう
I2 = find (Array1 > a1 & Array1 < a2 & ...
Array2 > b1 & Array2 < b2 & ...
Array3 > c1 & Array3 < c2);
を使用しました。
I2
はforループ(約7M繰り返し)内にあり、この操作には膨大な時間がかかります!このコード行を改善するための提案はありますか?
これはおそらくそれが得られるほど高速です。論理配列を出力するのではなく、 'find'が必要な特別な理由はありますか? – Suever
私はそれが簡単な方法だと思った。論理配列を取得することによって何が意味されるのか説明できますか? – Mechanician
'I2'で後で何をしますか?他の何かから価値をつかむためにそれを使っていますか?もしそうなら、あなたは 'find'を省略し、残りのステートメントで返された論理配列を使ってインデックスを作成することができます – Suever