このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
evaluate
最適化式の評価
説明
evaluate
を使用して、ある点における最適化式の数値を求めます。
ヒント
完全なワークフローについては、問題ベースの最適化ワークフローまたは方程式を解くための問題ベースのワークフローを参照してください。
例
点での最適化式の評価
2 変数の最適化式を作成します。
x = optimvar('x',3,2); y = optimvar('y',1,2); expr = sum(x,1) - 2*y;
点で式を評価します。
xmat = [3,-1; 0,1; 2,6]; sol.x = xmat; sol.y = [4,-3]; val = evaluate(expr,sol)
val = 1×2
-3 12
解での目的関数の評価
線形計画問題を解きます。
x = optimvar('x'); y = optimvar('y'); prob = optimproblem; prob.Objective = -x -y/3; prob.Constraints.cons1 = x + y <= 2; prob.Constraints.cons2 = x + y/4 <= 1; prob.Constraints.cons3 = x - y <= 2; prob.Constraints.cons4 = x/4 + y >= -1; prob.Constraints.cons5 = x + y >= 1; prob.Constraints.cons6 = -x + y <= 2; sol = solve(prob)
Solving problem using linprog. Optimal solution found.
sol = struct with fields:
x: 0.6667
y: 1.3333
解での目的関数の値を求めます。
val = evaluate(prob.Objective,sol)
val = -1.1111
入力引数
expr
— 最適化式
OptimizationExpression
オブジェクト
最適化式。OptimizationExpression
オブジェクトとして指定します。
例: expr = 5*x+3
(x
は OptimizationVariable
)
pt
— 式の変数の値
構造体
式の変数の値。構造体として指定します。構造体 pt
の要件は以下のとおりです。
expr
のすべての変数がpt
のフィールド名と一致する。一致するフィールド名の値が数値である。
たとえば、pt
を、solve
によって返される最適化問題の解にすることができます。
例: pt.x = 3, pt.y = -5
データ型: struct
出力引数
val
— 式の数値
double
式の数値。double 型として返されます。
警告
問題ベースのアプローチでは、目的関数、非線形等式、または非線形不等式における複素数値をサポートしていません。関数の計算に複素数値が含まれていると、それが中間値としてであっても、最終結果が不正確になる場合があります。
バージョン履歴
R2017b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)