MATLAB优化问题

例1:求解线性规划问题:maxf=2x1+5x2s.tx1<=4;x2<=3;x1+2*x2<=8;x1>=0;x2>=0________________________... 例1:求解线性规划问题:

max f=2x1+5x2
s.t x1<=4; x2<=3; x1+2*x2<=8; x1>=0; x2>=0
____________________________________________________________
程序:

f=[-2 -5];

A=[1 0;0 1;1 2];

b=[4;3;8];

[x,fval]=linprog(f,A,b)

f=fval*(-1)

结果: x = 2

3

fval = -19.0000

maxf = 19
_______________________________________________________
程序:
f=[-2 -5];

A=[1 0;0 1;1 2];

b=[4;3;8];
ub=[0;0]
[x,fval]=linprog(f,A,b,[],[],[],ub)

f=fval*(-1)
结果:
x =

1.0e-013 *

0
-0.2842

fval =

1.4211e-013

f =

-1.4211e-013
____________________________________________________
我感觉两个程序应该出一样的的结果,为什么会不一样呢,那个对啊,我是初学者,请大家指点一下
第二个约束条件是不是更充分啊
展开
 我来答
天上观人间
2010-09-09 · TA获得超过6042个赞
知道小有建树答主
回答量:997
采纳率:0%
帮助的人:1625万
展开全部
MATLAB是一种解释性语言,从运行效率来说肯定远不如其他基本语言。但还是有些方法可以提高运行速度的:
1,MATLAB擅长于矩阵运算,但并不适用于循环,能不用循环的地方尽量用矩阵运算代替;
2,对于大维度的矩阵,要预先确定它的维度,比如用zeros(a,b,c)预先定义好,这样每次给矩阵赋值的时候就不用改变维度了,对运算速度的提高很明显,这点你可以用MATLAB自带的tic和toc命令测试。
3.对于多重循环的将长的循环放在内循环。还有对有相似功能的命令的选择也对速度有影响。
如果对于计算量特别大的程序,用MATLAB是不怎么合适的哦,你可以把计算部分用其他语言,比如FORTRAN来实现。
书宬
2010-08-27 · TA获得超过7849个赞
知道大有可为答主
回答量:2125
采纳率:75%
帮助的人:3284万
展开全部
约束条件都不一样,结果能一样吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东哥KIeOK
2010-08-27
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
第二个约束 好一点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式