Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2007-08-20, 09:53   #1
青山长青
初级会员
 
注册日期: 2007-08-20
帖子: 4
声望力: 0
青山长青 正向着好的方向发展
呲牙 【求助】如何在matlab中设置变量为0-1变量?

我在建立一个混合整数的优化模型,其中部分变量为0-1变量,其他部分变量为连续变量。
请问如何在MATLAB中间设置0-1变量?
青山长青 当前离线   回复时引用此帖
旧 2007-08-21, 16:52   #2
chenhuips2
普通会员
 
注册日期: 2007-05-19
帖子: 51
声望力: 19
chenhuips2 正向着好的方向发展
默认

固定步长还素随机生成?
0:r:1;
为以r为步长生成~
round(m,n);
为随机生产,m,n为矩阵的维数。
chenhuips2 当前离线   回复时引用此帖
旧 2007-08-21, 19:46   #3
青山长青
初级会员
 
注册日期: 2007-08-20
帖子: 4
声望力: 0
青山长青 正向着好的方向发展
默认

谢谢chenhuips2!
我的目标是建立一个混合非线性优化问题,并对其应用matlab求解。
在这个优化问题中,有两类变量,一类是连续变量,比如其取值范围为[0,5],而另一类变量为0-1变量,也就是说这些变量要么为1,要么为0。
现在的问题是,我在matlab的程序中,如何把另一类0-1变量约束输入到程序中。
青山长青 当前离线   回复时引用此帖
旧 2007-08-21, 19:46   #4
青山长青
初级会员
 
注册日期: 2007-08-20
帖子: 4
声望力: 0
青山长青 正向着好的方向发展
默认

现在的问题是,我在matlab的程序中,如何把另一类0-1变量约束设置在matlab程序中
青山长青 当前离线   回复时引用此帖
旧 2007-08-22, 17:20   #5
chenhuips2
普通会员
 
注册日期: 2007-05-19
帖子: 51
声望力: 19
chenhuips2 正向着好的方向发展
默认

[0,5]
只要再rand(m,n)*5就OK了~
对了上面那个命令手误打错了不是round,是rand。
至于0-1的约束不清楚你0,1是如何分布的~
如果是固定分布那么你就手敲键盘或者做到Excel上读取进去~
如果是随机分布也容易,用rand生成后用个简单循环把值转成0-1就可以了~
例如大于0.5就为1,小于0.5就为0。
记得MATLAB中有专门生成0-1的函数,具体不清晰了~
自己找找~
chenhuips2 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 02:22


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.