MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]如和编写M文件 (https://www.labfans.com/bbs/showthread.php?t=2191)

Rfans 2008-04-10 16:35

[求助]如和编写M文件
 
Min ƒ(x)




函数:f(x)=0.45*e^-0.087*X1+0.45*e^1.875X2+0.1*0.0222X3
约束条件:100<x1<200
15<x2<28
12<X3<15

函数的M文件可以编,但如何加入约束条件?
我在用gatool算最优时没有找到可以加约束的地方。估计得编M文件时加入。

多谢高人指点!

watcher 2008-04-10 17:47

matlab带有多种优化算法函数,请检索一下matlab的优化工具箱,定有一款适合您

Rfans 2008-04-11 10:31

请回答的详细点,能否直接给出程序!

skyriver2008 2008-04-11 10:50

你可以用这个fmincon来做个这优化,在此之前你得看看它的帮助文件,这样对你是有好处的,事实上我也在做一个优化的问题,是关于我的毕业设计的。我相信你看了之后什么有答案的,到时你要是还没有,我会再过来看看贴,

watcher 2008-04-11 10:50

菜单栏help->product help->contents->optimization toolbox,这里有详细的优化函数说明,花些时间看一下就行。

程序嘛,版主说了不给的,呵呵
[URL="http://www.labfans.com/showthread.php?t=2259"]http://www.labfans.com/showthread.php?t=2259[/URL]

yinjiaji 2008-04-12 16:13

直接用系统提供的优化函数就行

skyriver2008 2008-04-12 17:56

%function y=youfun(x);
%y=0.45*exp^-0.087*X(1)+0.45*exp^1.875X(2)+0.1*0.0222X(3)
x0=[0 0 0];
lb=[100 15 12];
ub=[200 28 15];
options = optimset('LargeScale','off');
[x,fval] = ...
fmincon(@objfun,x0,[],[],[],[],lb,ub,@confun,options)
[c, ceq] = confun(x)
先保存一个函数文件,放在默认目录下。然后运行程序。不知道这样的结果对不对。高手指点一下啊

Rfans 2008-04-14 12:50

谢谢! 不过不好用。我运算花了好长时间,运算结果不在定义的区间。

我重新查了资料,利用gatool=>constraints=>bounds 在lower 里输入定义的区间[100 17 12] 和 upper [200 28 15],再运算,很快,结果也在我要得区间里。


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

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