主要内容

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

方法优化实时编辑器任务,以解决一个约束最小二乘问题。

这个例子中的问题是求出平面上的点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. 控件创建一个新的实时脚本新的生活的脚本按钮文件上节首页选项卡。

    新的Live Script按钮

  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

    求解器返回变量解决方案objectiveValueMATLAB工作空间。

  10. 在任务下面插入一个分段。把这些行放在新的部分中。

    disp(解决方案)disp (objectiveValue)
  11. 按下运行该部分按Ctrl + Enter

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

另请参阅

|

相关的话题