主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

ブロックパラメーター値の設定

ブロックには,出力値の計算方法を決める数値パラメーターがあります。ブロックで実行される計算を制御するには、パラメーター値を指定します。たとえば、获得ブロックには[ゲイン]パラメーターがあり,转移Fcnブロックには伝達関数の係数を表す複数のパラメーターがあります。

ブロックパラメーター値の設定には数値,変数および式を使用できます。手法はモデル化の目的に基づいて選択します。たとえば,次のようなことができます。

  • 変数を作成してブロック間およびモデル間でパラメーター値を共有する。

  • パラメーターオブジェクトを作成してデータ型や次元などのパラメーターの特性を制御する。

  • 数式を使用してアルゴリズムをコードとしてモデル化する。

モデルデータエディター([モデル化)タブで[モデルデータエディター]をクリッのク)[パラメーター]タブ,プロパティインスペクター([モデル化)タブの[設計]の下で,[プロパティインスペクター]をクリック),またはブロックダイアログボックスを使用して,ブロックパラメーターを設定します。詳細については,ブロックの追加とパラメーターの設定を参照してください。ブロックのサンプル時間を設定するには、サンプル時間の指定を参照してください。

ヒント

モデルエクスプローラーを使用すると,一度に多数のブロックパラメーター値に一括変更を加えることができます。詳細については,モデルエクスプローラーを参照してください。

プログラムからのパラメーター値へのアクセス

ブロックパラメーター値にプログラムからアクセスするには,関数get_paramおよびset_paramを使用します。この手法を使用すると以下を実行できます。

  • モデルをプログラムによって作成する。

  • モデルをプログラムからシミュレートする際に,パラメーター値をシミュレーションの実行中に調整する。

スクリプトを使用してシミュレーションの実行ごとにパラメーター値をスイープするには,get_paramおよびset_paramではなく金宝app仿真软件。SimulationInputオブジェクトを使用します。ブロックパラメーター値の最適化,推定およびスイープを参照してください。

我不断という名前の常数ブロックを含むmyModelという名前のモデルを作成するとします。次に,ブロックダイアログボックスを使用して,[定数値]パラメーターを15に設定します。パラメーター値をプログラムから返すには,関数get_paramを使用します。ブロックパスと、同等のプログラム上のパラメーター名价值を指定します。

paramValue = get_param (“myModel /我的常数”“价值”
paramValue = 15

たとえば,値をプログラムから25に変更するには,関数set_paramを使用します。関数への入力として文字ベクトル“25”を使用します。

set_param (“myModel /我的常数”“价值”“25”

ブロックパラメーターのプログラム上の名前の一覧については,ブロック固有のパラメーターを参照してください。

プログラミングによるシミュレーションの詳細については,プログラムによるシミュレーションの実行を参照してください。

関数get_paramおよびset_paramの使用を避けるには,MATLAB®変数または金宝app仿真软件。参数オブジェクトの名前をパラメーター値として使用し,その変数またはオブジェクトの値をコマンドプロンプトで変更します。変数の作成によるブロックパラメーター値の共有と再利用を参照してください。

パラメーター値の指定

目的 ブロックパラメーター値 説明

パラメーター値をモデルファイルに保存する。

2.3

[1.2 2.3 4.5;7.9 8.7 6.5)

2 + 3

リテラル数値。スカラー,ベクトル,行列または多次元配列として指定します。複素数値を指定するには,を使用します。

  • モデル内でブロックの位置を特定したりブロックを識別したりせずにパラメーター値にアクセスする。

  • モデルファイルを変更せずにパラメーター値を変更する。

  • ブロック間またはモデル間でパラメーター値を共有する。

  • 値のスイープまたは調整時にパラメーターを特定の名前で識別する。

myvar#

ワークスペースに存在するMATLAB変数。

詳細については,変数の作成によるブロックパラメーター値の共有と再利用を参照してください。

  • ワークスペース変数間の名前の衝突を回避する。

  • 階層とわかりやすい名前を使用してパラメーター値を整理する。

  • モデルで使用されるワークスペース変数の数を削減する。

myParam.a.SpeedVect

パラメーター構造体のフィールド。

詳細については,関連するブロックパラメーター定義を構造体に整理を参照してください。

行列変数または配列変数の一部を使用する。たとえば,一天的查找表ブロックのパラメーターを設定する。

myMatrixParam (: 2)

インデックス操作。

  • パラメーター値とは別に,データ型,実数/複素数,単位,値の許容範囲,次元などのパラメーターの特性を定義する。

  • カスタムドキュメンテーションでシステム定数を定義する。

  • 生成コードで調整可能なパラメーターを作成する。

  • 変数の値を定数やその他の変数を含む数式に設定する。

myParam

パラメーターオブジェクト。

詳細については,パラメーターオブジェクトの使用を参照してください。

  • パラメーター値を,特定不可能な数値リテラルとして表現する代わりに,既知の物理定数間の数学的関係として表現する。

  • モデル内のブロック数を削減する。

  • ブロックの代わりにコードを使用して,不明瞭な計算や自明な計算をモデル化する。

  • MATLABの演算子と関数を使用して計算を実行する。

  • パラメーター値を計算するカスタムMATLAB関数を記述する。

5 ^ 3.2 - 1/3

myParam * myOtherparam + sin(0.78*pi)

myFun (15.23)

式またはカスタム関数。

詳細については,数式,MATLAB関数,カスタム関数の使用を参照してください。

以外のデータ型を使用してブロックパラメーター値を指定する。

15.23

单(15.23)

myParam

型付き式,型なし式,MATLAB数値変数またはパラメーターオブジェクト。

パラメーターデータ型の制御の詳細については,ブロックパラメーターのデータ型の制御を参照してください。

パラメーターオブジェクトの使用

パラメーターオブジェクトとは,金宝app仿真软件。参数オブジェクトと作成するサブクラスのオブジェクトです。パラメーターオブジェクトは,ベースワークスペースやデータディクショナリなどのワークスペースにあります。

パラメーターオブジェクトはシステム定数の定義に使用できます。たとえば,パラメーター オブジェクトを使用して地球の半径を表します。オブジェクトのプロパティを使用して、物理単位を指定したり値の目的をドキュメント化したりします。

コード生成のためにモデルの準備を整えるには,パラメーターオブジェクトを作成します。生成コードで調整可能なグローバル変数として表示されるようにパラメーターオブジェクトを構成できます。また,このオブジェクトを使用してパラメーターデータ型を制御することもできます。

パラメーターオブジェクトを作成してモデルで使用するには,データオブジェクトを参照してください。変数を使用したブロックパラメーター値の設定の詳細については,変数の作成によるブロックパラメーター値の共有と再利用を参照してください。

数式、MATLAB関数,カスタム関数の使用

ブロックパラメーター値を,MATLABの関数と演算子(马克斯など)を呼び出す式に設定できます。また,MATLABパス上に書き込んだ独自のカスタム関数を呼び出すこともできます。

たとえば,ブロックアルゴリズムのあるセクションが変数を使用して,アルゴリズムの他の部分で使用される単一の定数を計算するとします。この計算は複数のブロックを作成して実行できます。

代わりに,MATLABコードで記述した式を使用する単一の常数ブロックを作成します。この手法により,ブロックアルゴリズムのサイズが抑えられ,可読性が向上します。

多数のブロックの代わりに式を使用することで,アルゴリズムの複雑な部分をモデル化できます。既存の信号を処理するには,アルゴリズムブロックのパラメーター(获得ブロックの[ゲイン]パラメーターなど)の値として数式を使用します。

式を使用すると,カスタム関数を呼び出してブロックパラメーター値を設定することもできます。たとえば,単一の入力数値を受け入れて制御アルゴリズムの最適な P、I および D パラメーターを計算する MATLAB 関数を記述するとします。

この関数を使用してパラメーター値を設定することで,PID控制器ブロックをパラメーター化できます。

式を最大限に活用するため,以下のヒントを考慮してください。

  • 変数とパラメーターオブジェクトを使用する場合,その変数とオブジェクトが表す実際の数量間の代数関係を明示的にモデル化できます。数式を使用した変数値の設定で説明されているように,パラメーターオブジェクトの中で式を使用します。

  • ブロックパラメーター値の式を編集中に関数のドキュメンテーションに移動するには,パラメーター値の隣にあるボタンを使用します。カスタム関数のソースコードに移動することもできます。

その他のモデル化の目的に関する考慮事項

ブロックパラメーター値を設定する手法はモデル化の目的に基づいて選択します。

目的 機能または製品 ベストプラクティス
複数のシミュレーションをすばやく実行します。 金宝app仿真软件。SimulationInputオブジェクトと関数sim卡 変数またはパラメーターオブジェクトを使用してブロックパラメーター値を設定します。この手法を使うと,パラメーターにわかりやすい名前を割り当てることができ,モデル内でブロックを識別したりブロックの位置を特定したりする必要がなくなります。ブロックパラメーター値の最適化,推定およびスイープを参照してください。
テスト中にパラメーター値をスイープします。 金宝app®测试™ 変数またはパラメーターオブジェクトを使用してブロックパラメーター値を設定します。反復とパラメーターのオーバーライドを使用して複数のテストを実行します。参数将覆盖(金宝app仿真软件测试)および测试迭代(金宝app仿真软件测试)を参照してください。
パラメーター値を推定して最適化します。 金宝app仿真软件优化设计™

変数またはパラメーターオブジェクトを使用してブロックパラメーター値を設定します。

以外のデータ型を使用するパラメーターを推定して最適化するには,パラメーターオブジェクトを使用して値をデータ型から分離します。

パラメーター推定の詳細については,参数估计(金宝app仿真软件设计优化)を参照してください。応答の最適化の詳細については,优化模型的响应(金宝app仿真软件设计优化)を参照してください。

モデルからコードを生成します。银/公益诉讼シミュレーションまたはエクスターナルモードシミュレーションによって外部プログラムをシミュレートします。 金宝app仿真软件编码器™

パラメーターオブジェクトを使用してブロックパラメーター値を設定します。この手法を使うと,生成コードで調整可能なパラメーターを宣言および識別したり,パラメーターデータ型を制御したりするのに役立ちます。生成されたコードにおける調整可能なキャリブレーションパラメーターの作成(金宝app仿真软件编码器)を参照してください。

式を使用してブロックパラメーター値を設定する場合は,生成されたコードにおける調整可能性が失われる演算子や関数は使用しないでください。調整可能な式の制限(金宝app仿真软件编码器)を参照してください。

参考

関連するトピック