getStateIndex
操作点の仕様の状態要素の邮箱ンデックスを取得
説明
操作点の仕様の州
プロパティは,各モデル状態の平衡化仕様を含む配列です。金宝app动态仿真模块®モデルのカスタマズされた平衡化のためにマッピング関数を定義する場合,getStateIndex
を使用して、対応するブロックパスまたは状態名に基づいて状態仕様の以及ンデックスを取得できます。
最適化ベースの探索を使用して仿金宝app真软件モデルを平衡化する場合,一部のアプリケーションでは最適化探索のパラメーターの定義においてさらに柔軟性が必要となります。そのようなシステムには,カスタム制約およびカスタム目的関数を指定できます。複雑なモデルの場合,マッピングを定義してモデルの状態,入力,および出力の部分集合を選択し,カスタムの制約および目的関数に渡すことができます。詳細にいては,カスタムの制約と目的関数を使用した操作点の計算を参照してください。
例
操作点の仕様からの状態邮箱ンデックスの取得
金宝appSimulinkモデルを開きます。
mdl =“scdindex1”;open_system (mdl)
モデルに操作点の仕様を作成します。
Opspec = operspec(mdl);
opspec
にはモデルの状態仕様の配列が含まれます。
opspec。州
ans = < >强x < /强> < >强知道< /强> < >强稳态< /强> < >强Min < /强> <强> Max < /强> < >强dxMin < /强> < >强dxMax < /强> <强> _ < /强> <强> ___ < /强> <强劲 >___________ 强> <强> ___ < /强> <强> ___ < /强> <强> ___ < /强> <强> ___ < / >强(1)scdindex1 /系统化0假真负无穷到正无穷负无穷到正无穷0假真负无穷到正无穷正0错误真的负无穷到正无穷负无穷到正无穷(2)scdindex1 /系统2 0假真负无穷到正无穷负无穷到正无穷
System2ブロックに対応する状態仕様のンデックスを取得します。
index2 = getStateIndex(opspec,“scdindex1 /系统2”)
Index2 = 2
index2 (1)
は,opspec。州
内でのsystem2の状態仕様オブジェクトの管理员邮箱ンデックスです。このブロックは単一の状態をもので,index2
は1の行をも,index2 (2)
は1
です。
ブロックに複数の状態がある場合、対応する状態仕様のすべての状態の以及ンデックスを取得できます。
index1 = getStateIndex(opspec,“scdindex1 /系统化”)
索引1 = 1 1 1 2 1 3
index1
の各行にはsystem2ブロック内の1の状態のンデックスが含まれます。各行の最初の列には,opspec。州
内の状態仕様の邮箱ンデックスが含まれます。2列目には仕様内での各状態要素のンデックスが含まれます。
操作点の仕様の指定された状態要素の邮箱ンデックスの取得
金宝appSimulinkモデルを開きます。
mdl =“scdindex1”;open_system (mdl)
モデルに操作点の仕様を作成します。
Opspec = operspec(mdl);
ブロックに複数の状態がある場合,要素インデックスを指定することで,対応する状態仕様内の特定の状態のインデックスを取得できます。たとえば,system1ブロックの仕様内にある2番目の状態のereplicationンデックスを取得します。
index1 = getStateIndex(opspec,“scdindex1 /系统化”,2)
索引1 = 1
要素インデックスをベクトルとして指定して,ブロックの状態のサブセットのインデックスを取得することもできます。たとえば,系统化ブロックの仕様内にある1番目と3番目の状態のインデックスを取得します。
index2 = getStateIndex(opspec,“scdindex1 /系统化”1, [3])
Index2 = 1 1 1 3
操作点の仕様からの名前付き状態の邮箱ンデックスの取得
金宝appSimulinkモデルを開きます。
mdl =“scdindex2”;open_system (mdl)
System1ブロックは,位置
、速度
、加速度
という名前付きの3状態をも。
モデルに操作点の仕様を作成します。
Opspec = operspec(mdl);
操作点の仕様オブジェクトの州
プロパティは,system1にある名前付きの各状態に1。
opspec。州
ans = < >强x < /强> < >强知道< /强> < >强稳态< /强> < >强Min < /强> <强> Max < /强> < >强dxMin < /强> < >强dxMax < /强> <强> _ < /强> <强> ___ < /强> <强劲 >___________ 强> <强> ___ < /强> <强> ___ < /强> <强> ___ < /强> <强> ___ < / >强(1)位置0错误真的负无穷到正无穷负无穷到正无穷(2)速度0错误真的负无穷到正无穷负无穷到正无穷(3)加速0假真负无穷到正无穷负无穷到正无穷
ブロック内の名前付きの状態に対応する状態仕様のンデックスを取得するには,状態名を指定します。
index1 = getStateIndex(opspec,“速度”)
Index1 = 2
index1
の最初の列には,opspec。州
プロパティ内の対応する状態仕様の邮箱ンデックスが含まれます。2列目は,名前付き状態の1
です。
操作点の仕様からのSimscape状態のereplicationンデックスの取得
モデルを開きます。
mdl =“scdTanks_simscape”;open_system (mdl)
モデルに操作点の仕様を作成します。
Opspec = operspec(mdl);
操作点の仕様オブジェクトの州
プロパティは,モデル内の各Simscape状態に1。
Simscape状態に対応する仕様の,ンデックスを取得するには,状態名を指定します。たとえば,Tank3の圧力状態の。
idx = getStateIndex(opspec,“scdTanks_simscape.Tank3.pressure”)
Idx = 18
idx
の最初の列には,opspec。州
内の対応する状態仕様の邮箱ンデックスが含まれます。2列目はSimscape状態の1
です。
opspec。州
でのこの状態の仕様を表示します。
opspec.States (idx (1))
ans = < >强x < /强> < >强知道< /强> < >强稳态< /强> < >强Min < /强> <强> Max < /强> < >强dxMin < /强> < >强dxMax < /强> <强> _ < /强> <强> ___ < /强> <强劲 >___________ 强> <强> ___ < /强> <强> ___ < /强> <强> ___ < /强> <强> ___ < / >强(1)scdTanks_simscape.Tank3。压力0假真-Inf Inf -Inf Inf
入力引数
人事处
- - - - - -操作点の仕様または操作点
OperatingSpec
オブジェクト|OperatingPoint
オブジェクト|OperatingReport
オブジェクト
金宝appSimulinkモデルの操作点の仕様または操作点。OperatingSpec
、OperatingPoint
,またはOperatingReport
オブジェクトとして指定します。
的名字
- - - - - -ブロックパスまたは状態名
文字ベクトル|字符串
人事处
の州
プロパティ内で状態仕様に対応するブロックパスまたは状態名。次のいずれかのパスを含む文字ベクトルまたはstringとして指定します。
金宝appSimulinkモデル内にある名前なしの状態を含むブロックのブロックパス。
金宝appSimulinkブロックまたはSimscape™ブロック内にある名前付きの状態の名前。
状態仕様をもすべての状態を表示するには,人事处
の州
プロパティを表示します。
op.States
元素
- - - - - -状態要素の邮箱ンデックス
正の整数|正の整数のベクトル
状態要素の邮箱ンデックス。的名字
で指定されたブロックまたは状態内にある状態要素の数以下の正の整数,またはそのような整数のベクトルとして指定します。既定では,元素
を指定しない場合,getStateIndex
は選択された状態仕様のすべての要素の邮箱ンデックスを返します。例にいては,操作点の仕様の指定された状態要素の邮箱ンデックスの取得を参照してください。
出力引数
バジョン履歴
R2017aで導入
Matlabコマンド
次のmatlabコマンドに対応するリンクがクリックされました。
コマンドをmatlabコマンドウィンドウに入力して実行してください。WebブラウザはMATLABコマンドをサポトしていません。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。