NI製品ディスカッション

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

乱数を1秒ごとに表示し、直近4つの乱数を計算する方法

解決済み
解決策を見る

こんにちは、LABVIEW 初心者のcsti22042です。

この度はまだFor、Loopに慣れておらず、新規でご質問させて頂きたいと考えております。やろうとしているVIは以下のようになります。

 

0から1の間の乱数を1秒ごとに表示するVIを作ります。そして、0.5を超えた時はブザーが鳴るようにします。その際、常に直近の4つの乱数の平均を計算して表示していくようにしたいのですが、正直その平均の求め方が全くわかりません。Forで4回のループを回し、乱数を順番に足せばいいのかと思い、添付したVIを作りました。しかし、「平均値」の出力値は増加していくばかりです。

 

どうすれば常に直近の4つの乱数の平均を計算して表示できるVIを作れるでしょうか。

恐れ入りますが、ご教授いただければ幸いです。よろしくお願いいたします。

0 件の賞賛
メッセージ1/3
848件の閲覧回数
解決策
トピック作成者csti22042が受理

フィードバックノードが初期化されていないので値が積算され続けています。それと、Forループで繰り返しているのは同じ値の積算なので、それでは4回の平均は求まりません。

 

色々とやりようはあると思いますがスタックシフトレジスタを使うのが手っ取り早いかと思います。

Stacked Shift Register.png

 

0 件の賞賛
メッセージ2/3
796件の閲覧回数

ご返信が遅くなってしまい、申し訳ございません。

 

参考にさせて頂きました。

4回目までは0を表示するバージョンも作ってみましたが、だんだん慣れてきたのか、スムーズに作れました。

 

また機会がありましたら、よろしくお願いいたします。

0 件の賞賛
メッセージ3/3
771件の閲覧回数