NI製品ディスカッション

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

LABVIEWでのセルの平均化について

LABVIEWでのセルの平均化についてご教示願います。csvファイルを読み込み、任意の行列を平均化させて、別のcsvファイルに出力させたいと考えています。一例として添付のJPGファイルにあるような事を想定しています。どのようなviにすればよいのか、宜しくお願い致します。

0 件の賞賛
メッセージ1/10
3,150件の閲覧回数

まずCSVファイルを読み込みます。

.csv形式のスプレッドシートファイルをLabVIEWに取り込む方法

 

次に以下のスレッドのように、配列に対する平均化処理を行います。

averaging rows in an array

 

最後にCSVへ書き込みます。

データファイル(CSVファイル)の作成方法

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ2/10
3,124件の閲覧回数

Emboar様、有難う御座います。

見様見真似でa.viを作成しました。

1.csvを読み込んで2-2.csvを作りたいのですが、2.csvのようになってしまいました。

追加でご教示いただけますと幸いです。宜しくお願い致します。

すべてをダウンロード
0 件の賞賛
メッセージ3/10
3,103件の閲覧回数

平均化の際、その行の値をすべて平均化していることにお気づきですか?

3行3列だけ平均したいのであれば、そのデータだけを抜き出して平均化してください。

 

デバッグの方法をご存じでなければ、プローブなど使うと便利です。

プローブ監視ウィンドウで効率的にデバッグ

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ4/10
3,097件の閲覧回数

任意の行列を平均化させて

=3行3列だけ平均したいのであれば、そのデータだけを抜き出して平均化

正にココが判らないので、vi等で詳細にご教示頂ければ幸いです。宜しくお願い致します。

0 件の賞賛
メッセージ5/10
3,079件の閲覧回数

部分配列関数を一つ使うだけで実現できます。array.png

 

 

 

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ6/10
3,071件の閲覧回数

部分配列関数を使用しましたが、繰り返しの中に入れると列が×になってしまいます。繋ぐ段階で列が消えていたので、他のところで部分配列関数を作ってから繋いでいます。宜しくお願い致します。

a.PNG

0 件の賞賛
メッセージ7/10
3,059件の閲覧回数

2次元配列から部分的にデータを取り出すので、2次元配列は2次元配列として扱うべきでしょう。

ですから、×になってしまう件はForループの自動指標付を無効にすることで解決します。

 

ちなみに指標0から2までの3×3のデータを取り出したら、次はどこからどこまでのデータを平均するのですか?

アルゴリズムとしてはどのような動きを考えてらっしゃるのでしょう?

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ8/10
3,052件の閲覧回数

ありがとうございます。行列表示が出来ました。

a.JPG

①3行3列(A1:C3)で切り出し、

②その範囲を平均化。

③次の3行3列(D1:F3)も同様に平均化、

④その後は(G1:I3)、(A4:C6)、…、(G7:I9)を順次平均化させて

b.JPG

最終的には下の図の様に出力させたいと考えています。

c.JPG

 

0 件の賞賛
メッセージ9/10
3,043件の閲覧回数

Forループの中の部分配列では、現在定数を用いています。

これを、シフトレジスタを用いて以前の値に「+x」したものを使えばよいのではないでしょうか。

 

1回目: A1(指標0)

2回目: D1(指標3)

3回目: G1(指標6)

 

なので、「+3」していけばよいと思います。

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ10/10
3,031件の閲覧回数