用matlab求解多元一次方程组 求大神指导 急!!急!! 急!! 救命啊!!
如2*x1+3*x2+5*x3+6*x4=89x1+x2+x3+x4=20此方程组未知数个数大于方程个数解不是唯一的解限定条件如5<x1<100<x2<50<x3<50<...
如2*x1+3*x2+5*x3+6*x4=89
x1+x2+x3+x4=20 此方程组未知数个数大于方程个数 解不是唯一的解 限定条件 如5<x1<10 0 <x2< 5 0<x3<5 0<x4<5 该如何编写 或者用其他什么方式能得出唯一的一组解
配料的问题 我只需要其中的任何一组解就可以 怎么能得出唯一的答案 或者只运算出一组解 就不再计算了也可以 不会用matlab 求指导 展开
x1+x2+x3+x4=20 此方程组未知数个数大于方程个数 解不是唯一的解 限定条件 如5<x1<10 0 <x2< 5 0<x3<5 0<x4<5 该如何编写 或者用其他什么方式能得出唯一的一组解
配料的问题 我只需要其中的任何一组解就可以 怎么能得出唯一的答案 或者只运算出一组解 就不再计算了也可以 不会用matlab 求指导 展开
1个回答
展开全部
1、配料问题一半应该有目标函数吧?最好把原始问题贴出来。
当然,如果没有目标函数,也可以自己随便设定,能够影响到的是,求出的究竟是哪一个解。
2、这可以看作一个优化问题来求解,而不是解方程组。要想求出【唯一的一组解】往往是做不到的,因为这取决于你给的限定条件本身是否具有唯一解。具有唯一解的几何意义是N维空间中的一个点,这种可能远远小于有多个解(空间的一个区域)或者无解(约束条件存在冲突)的情况。
3、就题主现在的问题而言,就是无解的,这可以用线性规划的方法验证:
Ae=[2 3 5 6; 1 1 1 1];
be=[89; 20];
lb=[5 0 0 0];
ub=[10 5 5 5];
x=linprog([1 0 0 0],[],[],Ae,be,lb,ub)
得到结果是无法找到可行解。
上述结论也可以通过Lingo进行验证:
max=x1;
2*x1+3*x2+5*x3+6*x4=89;
x1+x2+x3+x4=20;
5<x1;
x1<10;
0<x2;
x2<5;
0<x3;
x3<5;
0<x4;
x4<5;
用Lingo的好处是,可以通过Debug来判断哪些约束条件造成冲突:
Constraints and bounds that cause an infeasibility:
Sufficient Rows:
(Dropping any sufficient row will make the model feasible.)
[_3] X1 + X2 + X3 + X4 = 20 ;
[_2] 2 * X1 + 3 * X2 + 5 * X3 + 6 * X4 = 89 ;
[_9] X3 <= 5 ;
[_11] X4 <= 5 ;
Necessary Variable Bounds:
(If none of the necessary and sufficient bounds are dropped,
then the model remains infeasible.)
X1 >= 0
例如,如果上面的条件去掉x3<5或x4<5这两个约束中的一个,问题就是有解的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询