MATLAB Answers

s
0

2D-Lookup table のエクセルからのデータのインポート方法について

Asked by s
on 17 Oct 2019
Latest activity Commented on by s
on 10 Nov 2019
2D-lookup table を使って制御値のマップを作成したいのですが、エクセルで作成した添付画像のようにするにはどうすれば良いでしょうか。
エクセルのデータは手動入力できないほどの膨大のデータなので簡単にインポートできる方法はありますでしょうか。
また、このデータはそれぞれ行の長さが違うのですがその場合でも作成可能でしょうか。
バージョンは2016bになります

  0 Comments

Sign in to comment.

2 Answers

Yoshio
回答者: Yoshio
2019 年 10 月 19 日
編集済み: Yoshio
2019 年 10 月 19 日

  3 Comments

s
2019 年 10 月 21 日
x1 = xlsread('test.xlsx','Sheet1','A3:A975');
y1 = xlsread('test.xlsx','Sheet1','B3:B975');
x2 = xlsread('test.xlsx','Sheet1','D3:D605');
y2 = xlsread('test.xlsx','Sheet1','E3:E605');
このようにテーブルデータの次元数が違うと設定できないのでしょうか。
診断ビューワーで以下のようなエラーが表示されてしまいます。
ブロック 'test_cal1p0/2-D Lookup Table' において、'テーブル データ' パラメーター (1) で指定した次元数は、'テーブルの次元数' パラメーター値 (2) と一致しなければなりません。
Yoshio
2019 年 10 月 21 日
実現されたい内容は長さの異なる2つの1-D Lookup Tableで実現できると思いますが、いかがでしょうか?
2-Dの場合は、こちらのような構造になりますから、配列のサイズが異なる2つの行列は
テーブルデータを構成できません。
s
2019 年 11 月 5 日
遅くなり申し訳ございません。
1D-lookup table を4つ作成してみました。
画像のように入力データがあり、その一番近い数値を4つの中から選択したいのですがそのようなことは可能でしょうか?キャプチャ.PNG

Sign in to comment.


Yoshio
回答者: Yoshio
2019 年 11 月 5 日

上図だけですと、「入力データがあり、その一番近い数値を4つの中から選択したい」の詳細がわからないのですが、その部分のロジックをMATLAB Functionか、Simulinkで作るとして、以下のようにしてみてはいかがでしょうか。
model.jpeg

  3 Comments

s
2019 年 11 月 7 日
画像のようなデータが入力にあったとして、
Lookuptableのデータと入力したデータとの差が小さいものから
出力されてくる一番大きな数値を制御に使いたいと考えています。
<イメージフロー>
入力データ(常時違う波形)→各lookuptableへ→一番差が小さいテーブルデータの選択→出力された値の中で一番大きい値を制御値に使用
このようなイメージなのですが
キャプチャ20191106.PNG
Yoshio
2019 年 11 月 7 日
すみませんが、良く理解できません。
入力したデータ (時系列データなのでしょうか、(x,y)データなのでしょうか? サイズは?)
Lookuptableのデータとの差(何と何との差ですか? 一つですか、複数ですか、差の定義は?)
一番差が小さいテーブルデータの選択(Lookuptableを得らぶということでしょうか?)
出力された値の中で一番大きい値(複数の値が出てくる? サイズは?)
お手数ですが、上記をある程度具体的に記載いただけませんか?
s
2019 年 11 月 10 日 14:58
入力データは今は時系列データです。本来は一番最初に質問した時のデータのように(x,y)グラフを使用したいですが、1Dlook up table にxyのデータを入力する事は可能なのかいまいちよくわかりません。
言葉での説明が難しいので画像を用いてみました。

Sign in to comment.