优化实时编辑器任务lsqlin
解算器
方法优化实时编辑器任务,以解决一个约束最小二乘问题。
这个例子中的问题是求出平面上的点x1+ 2x2+ 4x3.= 7它离原点最近。解决这个问题最简单的方法是使到某一点距离的平方最小x= (x1,x2,x3.)在平面上到原点,它返回的最佳点和最小化实际距离是一样的。因为到任意一点距离的平方(x1,x2,x3.)原点是 时,可将问题描述如下:
受约束
x1+ 2x2+ 4x3.= 7。 | (1) |
这个函数f(x)是目标函数和x1+ 2x2+ 4x3.= 7是一个等式约束.更复杂的问题可能包含其他等式约束、不等式约束和上限或下限约束。
设置和解决问题使用优化
用lsqlin
解算器的优化住编辑任务。
控件创建一个新的实时脚本新的生活的脚本按钮文件上节首页选项卡。
插入一个优化住编辑任务。单击插入然后,在代码部分中,选择任务>优化.
在指定的问题类型部分的任务,选择客观>最小二乘和约束条件>线性等式.
任务的选择
lsqlin
作为推荐的求解器。要获取数据
C
和d
在MATLAB®工作区,点击节休息按钮插入选项卡。在新部分中,输入以下代码。C =眼(3);d = 0 (3,1);
设置线性等式约束矩阵和向量。
Aeq = [1 2 4];说真的= 7;
按下运行该部分按Ctrl + Enter.这将把变量放到工作区中。
在选择问题数据部分,将条目设置为它们相应的值。
按下运行求解器按Ctrl + Enter.查看退出消息。
要找到解决方案,请看任务的顶部。
求解器返回变量
解决方案
和objectiveValue
MATLAB工作空间。在任务下面插入一个分段。把这些行放在新的部分中。
disp(解决方案)disp (objectiveValue)
按下运行该部分按Ctrl + Enter.