lsqlin
解算器这个例子展示了如何使用优化Live Editor任务解决约束最小二乘问题。
这个例子中的问题是找到平面上的点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工作空间。
在任务下面插入一个分段。将这些行放置在新section中。
disp(解决方案)disp (objectiveValue)
按下按钮使型材运行按Ctrl + Enter.