NI製品ディスカッション

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

スカラから要素抽出,または1D行列作成の方法

解決済み
解決策を見る

初めて投稿させていただきます。

 

LabVIEWを用いて,計測器から得たデータを配列の形で処理したいと考えています.

そこで,倍精度のデータを配列表示器に入れ,要素抽出をしようとしたのですが,スカラタイプなため?エラーが出てしまいました.

 

スカラタイプについて調べたのですがよくわからなかったため,

スカラや解決法についてご存知の方がいましたらお教えいただけないでしょうか.

よろしくお願いします.

 

 

スカラ配列.png

0 件の賞賛
メッセージ1/5
1,441件の閲覧回数

こんにちは。肝心なところがエラーメッセージで隠れていますが

左上の端子には一次元配列しかつなぐことができません。そこに二次元配列がつながっているためのエラーです。

一次元配列であれば整数、倍精度関係なくつなぐことができます。Ctrlキー+hキーでヘルプを見ることができるのでそこに書いてある説明を見ながら確認してみて下さい。

Forループの外からデータのワイヤを接続すると自動的に配列になります「スカラ(1つだけのデータ)」の場合は一次元配列に、一次元配列の場合は二次元配列にといった具合です。自動指標付という機能ですがトンネルの上で右クリックするとメニューの中で切替られるので用途に合わせて試してみて下さい。

最後に配列関数はその名前や説明だけでは機能がわかりにくいものが多いです。まずは関数単体で定数やダミーデータをつないでどんな結果になるか確認してから使用することをお勧めします。(私は今でもそうしてます)

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

onigiri3 さん、はじめまして

 

横からすみません。

 

スカラ というのは 1つのデータという意味です。Excelでいう、1つのセルに入っているデータですね。

1次元配列はスカラを集めた1列(もしくは1行)分のデータです。Excelでいう、1列もしくは1行のデータです。

 

なお、LabVIEWではワイヤの太さでスカラ、1次元、2次元、とわかるようになっています。

 

見たところ、1次元配列をForループに入れた先にある、関数(1D配列検索)に入れていると思いますが、Forループはデフォルトで1次元配列をスカラに分割する仕組みが入っています。

なので、1D配列検索には1次元配列しか入れられないところ、Forループの仕組みでスカラに変換された状態でつながっているのでエラーということになります。

 

何をされたいかにもよりますが、Kineさんのおっしゃるとおり、トンネル(Forループの左側の■)を右クリックからインデックスを無効(Disable Indexing:Community版で英語なので日本語があってるかわからないです。。)をすれば、1次元配列がスカラに変換されるのを解除できます。

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

Kineさんはじめまして.アドバイスありがとうございます.

ダミーデータ等も用いて教えていただいたことを試してみようと思います.

0 件の賞賛
メッセージ4/5
1,369件の閲覧回数

ke525さん,初めまして

スカラの説明から解決法までありがとうございます.

わかりやすいです.早速試してみます

0 件の賞賛
メッセージ5/5
1,368件の閲覧回数