MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   【求助】如何在matlab中设置变量为0-1变量? (https://www.labfans.com/bbs/showthread.php?t=751)

青山长青 2007-08-20 09:53

【求助】如何在matlab中设置变量为0-1变量?
 
我在建立一个混合整数的优化模型,其中部分变量为0-1变量,其他部分变量为连续变量。
请问如何在MATLAB中间设置0-1变量?

chenhuips2 2007-08-21 16:52

固定步长还素随机生成?
0:r:1;
为以r为步长生成~
round(m,n);
为随机生产,m,n为矩阵的维数。

青山长青 2007-08-21 19:46

谢谢chenhuips2!
我的目标是建立一个混合非线性优化问题,并对其应用matlab求解。
在这个优化问题中,有两类变量,一类是连续变量,比如其取值范围为[0,5],而另一类变量为0-1变量,也就是说这些变量要么为1,要么为0。
现在的问题是,我在matlab的程序中,如何把另一类0-1变量约束输入到程序中。

青山长青 2007-08-21 19:46

现在的问题是,我在matlab的程序中,如何把另一类0-1变量约束设置在matlab程序中

chenhuips2 2007-08-22 17:20

[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的函数,具体不清晰了~
自己找找~


所有时间均为北京时间。现在的时间是 11:15

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