このペジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
eqnproblem
方程式問題の作成
説明
eqnproblem
を使用して方程式問題を作成します。
ヒント
完全なワクフロに,方程式を解くための問題ベスのワクフロを参照してください。
例
非線形方程式系の解法,問題ベス
次の非線形方程式系を解きます。
問題ベスのアプロチを使用する場合は,まずx
を2要素の最適化変数として定義します。
X = optimvar(“x”2);
最初の方程式を最適化等式として作成します。
eq1 = exp (exp (- x (x (1) + (2)))) = = x (2) * (1 + x (1) ^ 2);
同様に,2番目の方程式も最適化等式として作成します。
Eq2 = x(1)*cos(x(2)) + x(2)*sin(x(1)) == 1/2;
方程式問題を作成し,方程式を問題に配置します。
问题;prob.Equations。Eq1 = Eq1;prob.Equations。Eq2 = Eq2;
問題を確認します。
显示(概率)
EquationProblem:解:x eq1: exp ((exp ((- x (x (1) + (2 )))))) == ( x (2) * (1 + x (1) ^ 2)) eq2: ((x(1)。* cos (x (2))) + (x(2)。* sin (x (1)))) = = 0.5
点(0,0)
から始めて問題を解きます。問題ベスのアプロチの場合,初期点を構造体として指定します。変数名は構造体のフィルドとします。この問題の変数はx
の1しかありません。
x0。x=[0 0]; [sol,fval,exitflag] = solve(prob,x0)
用fsolve解决问题。方程解决。Fsolve完成了,因为函数值的向量通过函数公差的值测量接近于零,并且通过梯度测量问题看起来是规则的。
索尔=带有字段的结构:X: [2x1 double]
fval =带有字段的结构:eq2: -2.4070e-07 eq2: -3.8255e-08
exitflag = equationresolved
解の点を表示します。
disp (sol.x)
0.3532 - 0.6061
fcn2optimexpr
を必要とするサポトされていない関数
方程式の関数が初等関数で構成されていない場合,fcn2optimexpr
を使用して,その関数を最適化式に変換しなければなりません。次に例を示します。
ls1 = fcn2optimexpr (@ (x) exp (exp (- x (x (1) + (2)))), x);Eq1 = ls1 == x(2)*(1 + x(1)²);ls2 = fcn2optimexpr (@ (x) x (1) * cos (x (2)) + x (2) * sin (x (1)), x);Eq2 = ls2 == 1/2;
詳細は,最適化変数および式でサポトされる演算と非線形関数から最適化式への変換を参照してください。
非線形多項式系の解法,問題ベス
x
が2行2列の行列である場合,方程式
は多項方程式系です。ここで, は,行列乗算を使用した を意味します。問題ベスのアプロチを使用して,この方程式系を容易に定式化し,解くことができます。
まず,変数x
を2行2列の行列変数として定義します。
X = optimvar(“x”2、2);
x
にいて解く方程式を定義します。
Eqn = x^3 == [1 2;3 4];
この方程式を使用して,方程式問題を作成します。
问题,问题“方程”, eqn);
点[1 1;1 1]
から始めて問題を解きます。
x0。x=ones(2); sol = solve(prob,x0)
用fsolve解决问题。方程解决。Fsolve完成了,因为函数值的向量通过函数公差的值测量接近于零,并且通过梯度测量问题看起来是规则的。
索尔=带有字段的结构:X: [2x2 double]
解を検証します。
disp (sol.x)
-0.1291 0.8602 1.2903 1.1612
解の3乗を表示します。
sol.x ^ 3
ans =2×21.000 2.000 3.0000 4.0000
入力引数
名前と値の引数
引数の任意のペアをName1 = Value1,…,以=家
のように指定します。的名字
は引数名,价值
は対応する値です。名前と値の引数は、他の引数より後に指定されている必要があります。ただし、各ペアの順序は任意です。
R2021a以前では,それぞれの名前と値をコンマで区切り,的名字
を引用符で囲みます。
例:prob = eqnproblem('Equations',eqn)
方程
- - - - - -問題の方程式
[]
(既定値) |OptimizationEquality
配列|フィルドとしてOptimizationEquality
配列をも構造体
問題の方程式。OptimizationEquality
配列またはフィルドとしてOptimizationEquality
配列をも構造体として指定します。
例:和(x ^2,2) == 4
描述
- - - - - -問題のラベル
''
(既定値) |字符串|文字ベクトル
問題のラベル。字符串または文字ベクトルとして指定します。描述
はソフトウェアでは計算に使用されません。描述
は,あらゆる理由で自由に使用できるラベルです。たとえば,モデルまたは問題を共有,ア,または提示し,モデルまたは問題に関する説明情報を描述
に保存できます。
例:“旅行推销员问题的迭代方法”
デタ型:字符
|字符串
出力引数
概率
-方程式問題
EquationProblem
オブジェクト
方程式問題。EquationProblem
オブジェクトとして返されます。通常,問題の説明を完了するには,概率。方程
を指定し,さらに非線形方程式の場合は初期点の構造体を指定します。解决
を呼び出して,完全な問題を解きます。
警告
問題ベースのアプローチでは,目的関数,非線形等式,または非線形不等式における複素数値をサポートしていません。関数の計算に複素数値が含まれていると,それが中間値としてであっても,最終結果が不正確になる場合があります。
バジョン履歴
R2019bで導入
Matlabコマンド
次のmatlabコマンドに対応するリンクがクリックされました。
コマンドをmatlabコマンドウィンドウに入力して実行してください。WebブラウザはMATLABコマンドをサポトしていません。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。