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
____________________________________________________
我感觉两个程序应该出一样的的结果,为什么会不一样呢,那个对啊,我是初学者,请大家指点一下
第二个约束条件是不是更充分啊 展开
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
____________________________________________________
我感觉两个程序应该出一样的的结果,为什么会不一样呢,那个对啊,我是初学者,请大家指点一下
第二个约束条件是不是更充分啊 展开
展开全部
MATLAB是一种解释性语言,从运行效率来说肯定远不如其他基本语言。但还是有些方法可以提高运行速度的:
1,MATLAB擅长于矩阵运算,但并不适用于循环,能不用循环的地方尽量用矩阵运算代替;
2,对于大维度的矩阵,要预先确定它的维度,比如用zeros(a,b,c)预先定义好,这样每次给矩阵赋值的时候就不用改变维度了,对运算速度的提高很明显,这点你可以用MATLAB自带的tic和toc命令测试。
3.对于多重循环的将长的循环放在内循环。还有对有相似功能的命令的选择也对速度有影响。
如果对于计算量特别大的程序,用MATLAB是不怎么合适的哦,你可以把计算部分用其他语言,比如FORTRAN来实现。
1,MATLAB擅长于矩阵运算,但并不适用于循环,能不用循环的地方尽量用矩阵运算代替;
2,对于大维度的矩阵,要预先确定它的维度,比如用zeros(a,b,c)预先定义好,这样每次给矩阵赋值的时候就不用改变维度了,对运算速度的提高很明显,这点你可以用MATLAB自带的tic和toc命令测试。
3.对于多重循环的将长的循环放在内循环。还有对有相似功能的命令的选择也对速度有影响。
如果对于计算量特别大的程序,用MATLAB是不怎么合适的哦,你可以把计算部分用其他语言,比如FORTRAN来实现。
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询