eqnproblem
创建方程问题
描述
使用eqnproblem
创建一个方程问题。
提示
有关完整的工作流程,请参见基于问题的解方程工作流.
例子
解非线性方程组,基于问题
求解非线性方程组
使用基于问题的方法,首先定义x
作为一个双元素优化变量。
x = optimvar (“x”2);
创建第一个方程作为优化等式表达式。
eq1 = exp (exp (- x (x (1) + (2)))) = = x (2) * (1 + x (1) ^ 2);
类似地,创建第二个方程作为优化等式表达式。
Eq2 = x(1)*cos(x(2)) + x(2)*sin(x(1)) == 1/2;
创建一个方程问题,把方程放在问题中。
概率= eqnproblem;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
.
x0。x=[0 0]; [sol,fval,exitflag] = solve(prob,x0)
用fsolve解决问题。方程解决。Fsolve完成了,因为函数值的向量通过函数公差的值测量接近于零,并且通过梯度测量问题看起来是规则的。
索尔=结构体字段:x (2 x1双):
fval =结构体字段:eq2: -2.4070e-07 eq2: -3.8255e-08
exitflag = EquationSolved
查看解点。
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];
用这个方程做一个方程题。
概率= eqnproblem (“方程”, eqn);
从这个点开始解决问题(1 1; 1 (1)
.
x0。x=ones(2); sol = solve(prob,x0)
用fsolve解决问题。方程解决。Fsolve完成了,因为函数值的向量通过函数公差的值测量接近于零,并且通过梯度测量问题看起来是规则的。
索尔=结构体字段:x (2 x2的两倍):
检查解决方案。
disp (sol.x)
-0.1291 0.8602 1.2903 1.1612
显示溶液的立方体。
sol.x ^ 3
ans =2×21.000 2.000 3.0000 4.0000
输入参数
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:概率= eqnproblem(“方程”,eqn)
方程
- - - - - -问题的方程
[]
(默认)|OptimizationEquality
数组|结构OptimizationEquality
数组作为字段
问题方程,用OptimizationEquality
数组或结构OptimizationEquality
数组作为字段。
例子:总和(x ^ 2, 2) = = 4
描述
- - - - - -标签问题
”
(默认)|字符串|特征向量
问题标签,指定为字符串或字符向量。该软件不使用描述
为计算。描述
是一个任意的标签,你可以出于任何原因使用它。例如,您可以共享、存档或呈现模型或问题,并在中存储关于模型或问题的描述性信息描述
.
例子:“旅行推销员问题的迭代方法”
数据类型:字符
|字符串
输出参数
概率
——方程问题
EquationProblem
对象
方程问题,返回为EquationProblem
对象。通常,要完成问题描述,您需要指定概率。方程
对于非线性方程,初始点结构。通过打电话来解决一个完整的问题解决
.
警告
基于问题的方法不支持目标函数、非线性等式或非线性不等式中的复值。如果函数计算具有复杂值,即使是作为中间值,最终结果也可能是不正确的。
版本历史
介绍了R2019b
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。