NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

配列データ処理について

解決済み
解決策を見る

お世話になっています。

配列データの処理で、添付図上側の配列Aのデータの中から負のデータを取り除きたくて、添付の図のようにプログラムを組んでみました(配列Aのデータとともに、セットになっている図下側のデータBも同時に削除が必要となります)。図は省略しますが、FALSE時は右から左にそのままデータを渡して、何もしないとしています。

実行してみると、負のデータが取り除かれない(データをEXCELに書き込んで確認しました)のですが、うまくいかない理由についてアドバイスをお願いできないでしょうか。

よろしくお願いします。

0 件の賞賛
メッセージ1/4
2,335件の閲覧回数
解決策
受理者 mgs_ym

Forループ内から外へ出力する際に作成されるループトンネルを変更することが、最もシンプルに実現可能な方法だと思います。

 

正方形のループトンネルを右クリックして、トンネルモード >> 条件 を選択すると?マークの入力端子が追加されます。これにより、条件がTrueのときだけ配列に格納する仕組みとなりますので、0以上?関数でTrueの値だけを保存可能です。同じ条件を他の配列にも適用できまので、データAの比較判断をデータBにも用いることができます。

 

ss1.png

 

 

 

お使いのLabVIEWバージョンがかなり古い場合、トンネルモードで条件が選択できませんのでご注意ください。

0 件の賞賛
メッセージ2/4
2,288件の閲覧回数
解決策
受理者 mgs_ym

ご回答ありがとうございました。

アドバイスいただいた方法も試してみたのですが、扱うデータ量が多いためか、メモリエラーでうまく処理できませんでした。

対処として、最初に私の書いたものだと、For文で配列の先頭から処理する形で書いていましたが、後ろから処理する形に変えてみたところ、問題なく動くようになったことをご報告しておきます。

解決しましたので、本件はクローズします。ありがとうございました。

メッセージ3/4
2,243件の閲覧回数

自己解決とのこと承知しました。無事解決して何よりです。

0 件の賞賛
メッセージ4/4
2,235件の閲覧回数