这个示例脚本帮助您使用Optimize Live Editor任务进行优化或求解方程。针对您自己的问题修改脚本。
该脚本解决了一个具有非线性约束的非线性优化问题。
通常,您有数据或值要传递给求解器。将这些值放在输入部分(您可以看到的地方)x0
),并通过选择来运行该部分>运行部分或按控制+ Enter
.
设定起始点x0
和规模一个
的优化。
x0 = (2, 1);一个= 100;
把x0
值和任何其他问题数据进入工作区在继续之前先运行本节。
该任务包含目标约束函数和非线性约束函数。要更改这些函数,请编辑任务下面的函数列表。
要更改约束,请选择适当的约束类型并在输入框中输入值。您可能需要在包含的部分中输入值x0
然后运行该部分,将值放入工作区中。
通过单击左边的条纹条或通过选择来运行任务运行或>运行部分,或按控制+ Enter
.
优化
将解决方案保存到工作区变量解决方案
,并将目标函数值保存在工作区变量的解处objectiveValue
.的顶部可以看到并修改这些变量名优化
的任务。
查看这些变量。
观察非线性约束函数在解处的值。
下面的代码创建目标函数。针对您的问题修改此代码。
函数f = objectiveFcn f (x) = a * x (x (2) - (1) ^ 2) ^ 2 + (1 - x (1)) ^ 2;结束
下面的代码创建约束函数。针对您的问题修改此代码。
函数测查[c] = constraintFcn (x) c (1) = x (1) ^ 2 + (2) ^ 2 - 5;C (2) = 3 - x(1)^2 - x(2)^2;测查= [];没有相等约束结束