主要内容

eqnproblem

创建方程问题

自从R2019b

描述

使用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 =结构体字段:eq1: -2.4070 e-07 eq2: -3.8255 e-08
exitflag = EquationSolved

查看解决方案。

disp (sol.x)
0.3532 - 0.6061

不支金宝app持的功能要求fcn2optimexpr

如果你不组成的基本方程函数功能,您必须使用转换函数来优化表达式fcn2optimexpr。目前的例子:

ls1 = fcn2optimexpr (@ (x) exp (exp (- x (x (1) + (2)))), x);eq1 = ls1 = = x (2) * (1 + x (1) ^ 2);ls2 = fcn2optimexpr (@ (x) x (1) * cos (x (2)) + x (2) * sin (x (1)), x);eq2 = ls2 = = 1/2;

看到金宝app支持操作优化变量和表达式将非线性函数优化表达式

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.0000 2.0000 3.0000 4.0000

输入参数

全部折叠

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:概率= eqnproblem(“方程”,eqn)

方程的问题,作为一个指定OptimizationEquality数组或结构OptimizationEquality数组作为字段。

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

标签问题,指定为字符串或字符向量。不使用的软件描述为计算。描述是一个任意的标签,您可以使用任何理由。例如,您可以分享、存档或提出一个模型或问题,并存储描述性的模型或问题的信息描述

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

数据类型:字符|字符串

输出参数

全部折叠

方程的问题,作为一个返回EquationProblem对象。通常,完成问题描述,你指定prob.Equations非线性方程,一个初始点结构。通过调用来解决一个完整的问题解决

警告

具体问题具体分析的方法不支持复杂的值在一个目标函数,非线性等式,或非线性金宝app不等式。如果一个函数计算具有复杂的价值,即使作为一个中间值,最终结果可能是不正确的。

版本历史

介绍了R2019b