主要内容

eqnproblem

创建方程问题

描述

使用eqnproblem创建一个方程问题。

提示

有关完整的工作流程,请参见基于问题的解方程工作流

例子

概率= eqnproblem创建一个带有默认属性的方程问题。

例子

概率= eqnproblem (名称,值使用一个或多个名称-值对参数指定其他选项。例如,可以在构造问题时指定方程方程的名字。

例子

全部折叠

求解非线性方程组

经验值 - 经验值 - x 1 + x 2 x 2 1 + x 1 2 x 1 因为 x 2 + x 2 x 1 1 2

使用基于问题的方法,首先定义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 3. 1 2 3. 4

是一个多项式方程组。在这里, x 3. 意味着 x x x 使用矩阵乘法。您可以使用基于问题的方法很容易地制定和解决这个系统。

首先,定义变量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数组作为字段。

例子:总和(x ^ 2, 2) = = 4

问题标签,指定为字符串或字符向量。该软件不使用描述为计算。描述是一个任意的标签,你可以出于任何原因使用它。例如,您可以共享、存档或呈现模型或问题,并在中存储关于模型或问题的描述性信息描述

例子:“旅行推销员问题的迭代方法”

数据类型:字符|字符串

输出参数

全部折叠

方程问题,返回为EquationProblem对象。通常,要完成问题描述,您需要指定概率。方程对于非线性方程,初始点结构。通过打电话来解决一个完整的问题解决

警告

基于问题的方法不支持目标函数、非线性等式或非线性不等式中的复值。如果函数计算具有复杂值,即使是作为中间值,最终结果也可能是不正确的。

版本历史

介绍了R2019b

Baidu
map