NI製品ディスカッション

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

x,y,zのMAPから入力値xi,yiに対してziを補間して出力したい

解決済み
解決策を見る

ご教授願います。

以前こちらでx,yのMAP値に対して入力されたxiの値からyiの値を補間して出力する方法を教えていただいた者ですが、

 

MAPデータがx,y,zと構成されていて、入力値xi,yiに対してMAPデータのzの値を補間してziの値を出力したいのですが、途中まで作ってつまずいてしまったので教えていただきたいです。

 

私の近いイメージで2D補間関数を使用すれば可能かと思ったのですが、zは2Dの配列でないといけないと表記されており、解決する方法が分かりません(下図参照左が問題のVI、右がMAPになってます)

 

以上、ご確認お願い致します。

0 件の賞賛
メッセージ1/6
2,829件の閲覧回数

ここまでで作られたVIとサンプルのデータファイルを添付して頂けないでしょうか?

0から作るのは少々手間です。ここまでできている、という成果物を共有して頂くことでアドバイスをくださる方が増えるかと思います。ご検討ください。

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

失礼致しました。

以下に作成したVIを添付いたします。

以前に作ったx,yのMAPからxiに対してyiを出力するVIも参考までに添付いたします。

 

仕組みとしてはcsv形式のファイルにMAPデータ(x,y,z)が書かれており、そのMAPを読み込んで入力値xi,yiに対してziを出力したいです。

 

以上、ご教授お願い致します。

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

ごめんなさい、返信がだいぶ遅れました。

 

添付VIとデータのようにすることで意図した動作になるはずです。ご確認ください。

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

TAKASUさん、ありがとうございます。

私も、試行錯誤しながら作ってみたのですがどうでしょうか

(添付VI参照)

 

私の作ったやつだと添付画像1のようにMAPデータが縦に長くなってしまい、

重くなる、見づらくなるので、理想としては、添付画像2のようなMAPの書き方で

x、yを読み込んでzの値を補間して出力できればと思うのですが...

すべてをダウンロード
0 件の賞賛
メッセージ5/6
2,004件の閲覧回数
解決策
受理者 dc_owl67

返信がまた遅れ申し訳ございません。添付画像2のようにすると、1つのX値に対して1つのY値しかないので補間のしようが無いように思えます。少なくとも2点、きちんとフィッティングするのであれば多数の点が必要かと思います。

 

結局VIが要求する形でデータを用意されるのが一番簡単なように思えますが如何でしょうか。

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