主要内容

优化实时编辑器任务lsqlin解算器

这个例子展示了如何使用优化Live Editor任务解决约束最小二乘问题。

这个例子中的问题是找到平面上的点x1+ 2x2+ 4x3.= 7这是最接近原点的。解决这个问题最简单的方法是最小化到某一点的距离的平方x= (x1x2x3.在平面上指向原点,原点返回的最佳点与实际距离的最小值相同。因为到任意点的距离的平方x1x2x3.到原点是 x 1 2 + x 2 2 + x 3. 2 ,你可以描述问题如下:

最小值 x f x x 1 2 + x 2 2 + x 3. 2

受约束

x1+ 2x2+ 4x3.= 7。 (1)

这个函数fx)是目标函数x1+ 2x2+ 4x3.= 7是一个等式约束.更复杂的问题可能包含其他等式约束、不等式约束和上界或下界约束。

建立和解决使用中的问题优化

lsqlin解算器的优化住编辑任务。

  1. 单击。创建一个新的活动脚本新的生活的脚本按钮文件上节首页选项卡。

    新增实时脚本按钮

  2. 插入一个优化住编辑任务。单击插入然后,在代码部分中,选择任务>优化

  3. 指定的问题类型部分的任务,选择目标>最小二乘约束条件>线性等式

    任务的选择lsqlin作为推荐的求解器。

  4. 来获取数据Cd在MATLAB®工作区,点击节休息按钮插入选项卡。在新的部分中,输入以下代码。

    C =眼(3);d = 0 (3,1);
  5. 设置约束矩阵和向量的线性等式。

    Aeq = [1 2 4];说真的= 7;
  6. 按下按钮使型材运行按Ctrl + Enter.这将变量放置到工作区中。

  7. 选择问题数据段中,将条目设置为它们相应的值。

    已选择变量C、d、Aeq和beq,未选择变量x0

  8. 按下运行求解器按Ctrl + Enter.查看退出消息。

    退出消息报告发现满足约束的最小值

  9. 要找到解决方案,请查看任务的顶部。

    返回的变量是solution和objectiveValue

    求解器返回变量解决方案objectiveValue到MATLAB工作空间。

  10. 在任务下面插入一个分段。将这些行放置在新section中。

    disp(解决方案)disp (objectiveValue)
  11. 按下按钮使型材运行按Ctrl + Enter

    解=[1/3,2/3,4/3]。目标= 7/3。

另请参阅

|

相关的话题