数学建模社区-数学中国

标题: 用Matlab求解线性规划问题居然报错,怎么回事? [打印本页]

作者: tiansifei1    时间: 2012-2-7 12:07
标题: 用Matlab求解线性规划问题居然报错,怎么回事?
对于线性规划问题:max f(x)=5x1+4x2+6x3
s.t.x1-x2+x3<=20
3x1+2x2+4x3<=42
3x1+2x2<=30
x1,x2,x3>=0
我编出以下Matlab程序(第二题.m)求解:
f=-[5,4,6];
A=[1,-1,1;3,2,4;3,2,0];
b=[20;42;30];
[x,funvalue,exitflag]=linprog(f,A,b,[],[],[0,0,0],[])
可无论怎样调试,最后都会报错:
??? 第二题
|
Error: Missing variable or function.
在下很茫然,不知道错在哪儿了。如果把向量b中的分号改成逗号或空格,[0,0,0]改为[0;0;0]或[0 0 0],还是会报同样的错。不过用lingo求解就没问题了,因为题目本身有最优解。
但我们作业要求还要用Matlab求解啊!希望高手能指点一下,我用的是Matlab7.0,谢谢!



作者: tiansifei1    时间: 2012-2-7 15:41
不好意思,我再补充一下。以上程序我是在Matlab的编辑窗口中单独编辑得到的,如果在编辑窗口中点“运行”,就会出现以上错误提示;但如果把这个程序代码复制并粘贴到命令窗口中再运行,就没有问题了。这是怎么回事?知道的回复一个。谢谢!
作者: tiansifei1    时间: 2012-2-7 17:43
额。。。Matlab7.0貌似不支持中文的文件名啊!把文件名改成英文的好像就可以运行了。
作者: alair005    时间: 2012-2-7 17:57
大家共同学习,一起进步9057298326136828
作者: 蓝天上的白云    时间: 2012-2-7 19:18
我以前也遇过这类问题。感觉求解优化问题,LINGO比MATLAB方便。
作者: alair006    时间: 2012-2-8 08:49
顶顶更健康,越顶吃的越香。4018420646187437
作者: 李——建辉    时间: 2012-2-8 10:08
tiansifei1 发表于 2012-2-7 17:43
额。。。Matlab7.0貌似不支持中文的文件名啊!把文件名改成英文的好像就可以运行了。

嗯,中文名不行的
作者: alair006    时间: 2012-2-8 11:09
太……多了,不多说了,先看一把。8725468575068772




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5