如何用matlab找到这个解决方案?

时间:2014-01-25 07:16:15

标签: matlab matlab-guide

我是matlab的初学者,我很感兴趣如何找到方程式的解决方案:

2x + y  <=  6
4x + 5y <=  20
x + 2y  >=  4
5x + 3y  <=  15
x - 2y + 6  <=  0

如何在matlab中绘制这个方程? 提前致谢

2 个答案:

答案 0 :(得分:3)

在回应一些评论时,我想说这两个未知数中的5个方程确实有意义。首先,这些是不平等,而不是平等。它们中的每一个在被线(所有不同的线)切割之后表示2D平面的半侧。而你对这个不平等系统的解决方案就是所有这些半平面交叉的区域。它可以是闭合的多边形区域,也可以是无界区域或空集。

由于这看起来像是一个任务问题,我不会在这里给你解决方案。但是这里有一个提示,密集地从XY平面采样点,对于每个点,如果它满足所有方程,则绘制它,否则不要......

P.S。即使存在所有的等式,更多线性方程组的系统仍然有意义。它是一个超定系统,并且存在“最小二乘”意义上的解决方案,即线条适合于具有最小平方误差和的大量噪声数据。但这不是你的情景。

答案 1 :(得分:1)

这可以通过单纯形(优化方法,线性规划)来解决,这是完全确定的,因此计算机可以完成这项工作。 Matlab为此提供了工具,例如linprog。不等式是你的约束,并将定义一个凸多边形,它可以是有界的,无界的或空的。你的目标函数等于1。