主要内容

基于问题的解决方程的工作流程

笔记

优化工具箱™提供了两种求解方程的方法。本主题描述了基于问题的方法。基于求解器的优化问题设置描述了基于求解器的方法。

要解决方程系统,请执行以下步骤。

  • 通过使用创建等式问题对象eqnproblem.。问题对象是您定义方程的容器。等式问题对象定义问题变量中存在的问题和存在的任何界限。

    例如,创建等式问题。

    prob = eqnproblem;
  • 使用使用创建命名变量优越的。优化变量是用于描述方程式的符号变量。在变量定义中包含任何界限。

    例如,创建一个名为的15×3阵列变量'X'下限0.和上限1

    x = Optimvar('X',15,3,'indowbound',0,'上行',1);
  • 在问题变量中定义方程。例如:

    sumeq = sum(x,2)== 1;prob.equation.sumeq = sumeq;

    笔记

    如果您有一个非线性函数,则不由多项式,Rational表达式和诸如的基本功能组成exp.,然后通过使用将函数转换为优化表达式FCN2Optimexpr.。看将非线性函数转换为优化表达式金宝app在优化变量和表达式上支持的操作

    如有必要,将方程中的额外参数作为工作空间变量。看通过基于问题的方法传递额外参数

  • 对于非线性问题,将初始点设置为一个结构,其字段是优化变量名称。例如:

    x0.x = randn(size(x));x0.y =眼睛(4);%假设y是一个4×4变量
  • 通过使用解决问题解决

    sol =解决(prob);%或,对于非线性问题,sol =解决(prob,x0)

除了这些基本步骤外,您还可以通过使用解决问题之前查看问题定义表演或者。设置选项解决通过使用优化选择,如下所述更改默认求解器或选项

警告

基于问题的方法不支持客观函数,非线性等分或非线性不等式中的复杂值。金宝app如果函数计算具有复数,甚至作为中间值,最终结果也可能不正确。

对于具有多项式的基本等式求解示例,请参阅解决多项式的非线性系统,基于问题。对于一般的非线性示例,请参阅解决方程的非线性系统,基于问题。对于更广泛的例子,请参阅非线性方程系统

也可以看看

||||||

相关话题