【計測】LabVIEW相談室【制御】 (787レス)
前次1-
抽出解除 レス栞

159
(3): デフォルトの名無しさん [sage] 2007/07/31(火) 13:04:20 AAS
二次元配列から、条件に適合する配列要素をつまみ出す作業をしたいのですが、うまくいきません。

N行2列の二次元配列AをForループにつっこんで、その要素A_i2がa<A_i2<bを満たす行 A_i=(A_i1, A_i2)だけを
抜き取って配列を作りたいのですが、抜き取りはできるのですが、条件を満たさない行が(0, 0)というゴミ行にな
って残ります。このゴミを残さずに条件を満たさない行を削除したいのです。
いろいろな方法を試していますが、どの方法もゴミ行が残ってしまいます。

どーしたらよいのでしょうか?誰か教えてください。
160
(1): デフォルトの名無しさん [sage] 2007/07/31(火) 14:41:33 AAS
>>159
抜き出したのを新しい配列にセットして戻してやれば?

元配列 -> 抜き出した配列

抽出後

抜き出した配列 -> 元配列
165
(3): ロニー ◆rk1jiTzxIk [sage] 2007/08/02(木) 00:21:08 AAS
あ、すでに解決していましたか・・・>>159

ちなみに配列作成の速度順位は、
 1位:For、Whileループによる指標付けの配列作成
 2位:あらかじめ使用する数の配列を用意しての配列置換
 3位:配列連結(特にループ内での配列の連結は激遅!)
って感じです

大量のデータやバイト数の大きいデータを扱うときは注意した方がいいですね
172
(1): ロニー ◆rk1jiTzxIk [sage] 2007/08/03(金) 12:48:24 AAS
ループ内の配列処理だと、おそらくシフトレジスタに配列を持たせている人もいるはず・・・
これも処理速度低下の原因でもあるわけです
さらに、配列の要素型がDBLだったら尚更遅いです

>>159さんで例に挙げると、
前は条件Trueで配列連結処理、Falseはシフトレジスタの配列そのまま受け流しって感じだと思うけど、
Trueのときにファイルへデータを保存させるっていう手もあります
で、処理終了後にファイルからデータを読み込めばOK
これも劇的に早いというわけではないですが、参考までにということで・・・

長文でスマソ
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.414s*