最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

varindex

ソルバーベースの変数インデックスへの問題変数のマッピング

説明

idx = varindex(prob) は、問題変数の線形インデックスを構造体または整数ベクトルとして返します。prob2struct を使用して prob を問題構造体に変換すると、idx は結果として得られる問題構造体に変数インデックスを指定します。この問題構造体は prob の変数に対応します。

idx = varindex(prob,varname) は、varname の要素の線形インデックスを返します。

すべて折りたたむ

最適化問題を作成します。

x = optimvar('x',3);
y = optimvar('y',3,3);
prob = optimproblem('Objective',x'*y*x);

問題を構造体に変換します。

problem = prob2struct(prob);

すべての prob 変数の problem で線形インデックスを取得します。

idx = varindex(prob);
disp(idx.x)
     1     2     3
disp(idx.y)
     4     5     6     7     8     9    10    11    12

y インデックスのみを取得します。

idxy = varindex(prob,'y')
idxy = 1×9

     4     5     6     7     8     9    10    11    12

入力引数

すべて折りたたむ

最適化問題または方程式問題。OptimizationProblem オブジェクトまたは EquationProblem オブジェクトとして指定します。最適化問題は optimproblem を使用して作成し、方程式問題は eqnproblem を使用して作成します。

警告

問題ベースのアプローチでは、目的関数、非線形等式、または非線形不等式における複素数値をサポートしていません。関数の計算に複素数値が含まれていると、それが中間値としてであっても、最終結果が不正確になる場合があります。

例: prob = optimproblem; prob.Objective = obj; prob.Constraints.cons1 = cons1;

例: prob = eqnproblem; prob.Equations = eqs;

変数名。文字ベクトルまたは string として指定します。

例: 'x'

データ型: char | string

出力引数

すべて折りたたむ

問題変数の線形インデックス。構造体または整数ベクトルとして返されます。prob2struct を使用して prob を問題構造体に変換すると、idx は結果として得られる問題構造体に変数インデックスを指定します。この問題構造体は prob の変数に対応します。

  • idx = varindex(prob) を呼び出す場合、返される idx は構造体です。構造体のフィールド名は prob の変数名です。各フィールドの値は、関連付けられたソルバーベースの問題変数で変数によるマッピングが行われる線形インデックスの整数ベクトルです。

  • idx = varindex(prob,varname) を呼び出す場合、返される idx は、関連付けられたソルバーベースの問題変数で変数 varname によるマッピングが行われる線形インデックスのベクトルです。

詳細は、問題インデックスの取得を参照してください。

R2019a で導入