MATLABユーザーコミュニティー

MATLAB和Si金宝appmulinkユーザーコミュニティー向け日本語ブログ

查找表とは吗?

こんにちは。MathWorksで学生競技会をサポートさせていただいている飯島です。

MathWorksでは様々なトピックに関する如何ビデオを用意しています。その中で,本日は查找表の動画を取り上げます。5分程度で查找表(日本語版英語版)の用途,メリット,活用方法を紹介しています。この記事ではその詳細について紹介します。

维基百科を見ると查找表とは”複雑な計算処理を単純な配列の参照処理で置き換えて効率化を図るために作られた,配列や連想配列などのデータ構造のことをいう。”というふうに定義されています[1]。

これだけ見ると何のことを言っているのかさっぱりわかりませんね。

查找表とは吗?

仮想世界でモノを作ってテストする時に計算モデルが必要になってきます。(の値を入れるとBの答えが出てくるというふうに)
本来であれば,計算というだけあって学校で習った公式や数式を使う必要があります。
しかし,実験データさえあれば,その複雑な公式を使わずに,実験データで仮想世界でモノを作ることができるようになります。これを手助けしてくれるのが查找表です!!

まだピンときていない方のために具体的にみていきましょう。

例えば,皆さんが自動車のブレーキ会社で働き始めたとしましょう。

ブレーキの原理を見ると,最初にブレーキペダルを踏み込んで,倍力装置を通過して液圧が強くなって出てきます。その力がピストンとブレーキパッドを押し付けて,タイヤと一緒に回転しているローターを挟み込むようにして,摩擦力を加えてその力が自動車のブレーキをかけるトルクとして発生するという仕組みになっています。ちょうど下にある動画のような流れになっています。

図1:

查找表を使わない場合:
まずは倍力装置を見て,踏み込んだ量から液圧を求めないといけません。その数式を自分で作ったり探したりしてくる必要があります。次にピストンの中では液圧を力に変えていますね。そしてブレーキパッドでは力を摩擦力にという風に一の値をBの値に変換していく必要があり,そのための計算式を自分で探して見つけないといけないということが非常に厄介になってきます。

図2:

查找表を使う場合:
一个の値がこの時はBの値がこうなるという実験データさえあれば,そのデータだけでモデルを作ることができます。

*一つ一つの部品(倍力装置,ピストン,ブレーキパッドなど)に分けて実験データを取得する方がより正確なのですが,今回はわかりやすいように一番最初の踏み込み量から最後のブレーキトルクまでの実験データを持っているとしましょう。

図3:

金宝app仿真软件で查找表を使用する方法?
今回は以下の実験データのサンプルを使います。踏み込み量はどれだけ踏み込んだのかをパーセンテージ[%]で表します。全開まで踏み込んだら100[%],全く触れていない状態を0[%]とします。踏み込んだ量に対応するようにブレーキトルク(Nm)のデータがあるとしましょう。

図4:

そして金宝app仿真软件の中には以下のような查找表というブロックがあります。

図5:

この查找表に先程の実験データを設定をしてあげると!なんとモデルが完成します!イメージはこんな感じです。

図6:

入れ方は簡単です。查找表のブロックをダブルクリックすると以下のようなウィンドウが出てきます。

図7:

ここの表数据と打破里に先程の実験データの値をいれるだけ!

図8:

これで完成です!

それでは仮想世界でブレーキを完成させることができたので,次は使ってみましょう!まずは100[%]の値を入れると答えが出てきます。表通りの結果が出てますね。そのまま50[%]の力に変えてもしっかり答えが出てきます。以下参照

図9:

金宝app仿真软件は無単位系のシミュレーターなので特に単位系を意識することなくモデリングできますが,逆を言えば単位系を揃えなくともモデリングできてしまうリスクもあります。そこで,本記事では查找テーブルの入出力で単位系が変化していることから,入出力ブロックに単位属性を指定しています。

查找表が使われる理由:

  • 計算時間が短縮される!
  • 面倒な数式モデルを作らなくて良い!
  • 複雑な計算式を見つける必要がない!
  • 実験データはこれまで溜まってるものがいっぱいある!

上記のような理由で多くのアプリケーションでよく使われています。

查找表は覚えておくといろんなことができるようになるので,自分だけのモデルを作ってみてはいかがでしょうか。

参考文献:
1.2020年12月4日現在维基百科查找表:

|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。