Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-08-21, 15:55   #1
exitenter4073
初级会员
 
注册日期: 2008-06-06
年龄: 47
帖子: 9
声望力: 0
exitenter4073 正向着好的方向发展
默认 [求助]请大家帮忙

我刚接触matlab,有很多问题不懂.下面这个,大家一定要帮助

function yy=minWater(FF,WW,C,X,FW,FO)
n=3,m=2
FF=zeros(n+m);
WW=zeros(n+m);
C=zeros(n+m,2);
X=zeros(n,1);
FW=zeros(n,1);
FO=zeros(m,1);

我的优化模型中有68个变量,分别是上边六个矩阵的元素.像上边的定义合适吗

我觉着不妥,但又不知怎么弄,请大家指点.
exitenter4073 当前离线   回复时引用此帖
旧 2008-08-21, 16:18   #2
exitenter4073
初级会员
 
注册日期: 2008-06-06
年龄: 47
帖子: 9
声望力: 0
exitenter4073 正向着好的方向发展
默认 回复: [求助]请大家帮忙

FF、WW都为5×5矩阵,一共50个元素;C为10个元素;X为3个元素,FW为3个元素;FO为2个元素。

如果用GAOT的话,怎么让这68个元素开始迭代?
exitenter4073 当前离线   回复时引用此帖
旧 2008-08-21, 16:54   #3
pslpsl
普通会员
 
注册日期: 2008-08-17
年龄: 36
帖子: 70
声望力: 20
pslpsl 是一个将要出名的人pslpsl 是一个将要出名的人
默认 回复: [求助]请大家帮忙

把这68个元素用储存为一维向量 当作变量组吧

最后求出结果再还原

用遗传算法我不用GAOT工具箱的

自己写代码少了很多限制
pslpsl 当前离线   回复时引用此帖
旧 2008-08-21, 17:03   #4
pslpsl
普通会员
 
注册日期: 2008-08-17
年龄: 36
帖子: 70
声望力: 20
pslpsl 是一个将要出名的人pslpsl 是一个将要出名的人
默认 回复: [求助]请大家帮忙

goat工具箱主要有两个主文件: initializega.m和ga.m,两函数的调用格式及参数意义如下:
initializega.m的调用格式为:
Function[Pop]=initializega(num,bounds,eevalFN,eevalOps,opts)

输出参数:
Pop:初始种群

输入参数:
num:种群中的个体数目;
bounds:变量上下限矩阵;
eevalFN:适应度函数;
eevalOps:传递给适应度函数的参数,默认值为[];
opts:选择编码形式的参数,即浮点编码 (默认值为[])或是二进制编码。




ga.m的调用格式为:
[xf,endPop,bPop,trace]=ga(bounds,evalFN,evalOps,startPop,opts,termFN,termOps,selectFN,selectOps,xOverFNs,xOverOps,mutFNs,mutOps)

输出参数:
xf:优化解;
endPop:最终种群;
bPop:最终种群的一个轨迹;
trace:每一代种群中的最好个体和平均结果矩阵。

输入参数:
bounds:变量上下限矩阵;
evalFN:适应度函数;
evalOps:适应度函数的输入选项,默认为[];
startPop:初始种群;
opts:向量[epsilon prob_ops display],其中epsilon表示两代之间的差距,prob_ops取0时为二进制编码,取1时为浮点编码(计算精度较高),display表示运行时是否显示当前个体和最好结果。默认值为[1e-6 1 0];
termFN:终止函数,默认值为[‘maxGenterm’];
termOps:向终止函数输入的参数,默认值为[100];
selectFN:选择函数;
selectOps:选择参数;
xOverFNs:一个包含空格字符串的xOver.m文件;
xOverOps:xOver.m文件的输入参数矩阵;
mutFNs:一个包含空格字符串的mutation.m文件;
mutOps:mutation.m文件的输入参数矩阵。
pslpsl 当前离线   回复时引用此帖
旧 2008-08-21, 17:24   #5
pslpsl
普通会员
 
注册日期: 2008-08-17
年龄: 36
帖子: 70
声望力: 20
pslpsl 是一个将要出名的人pslpsl 是一个将要出名的人
默认 回复: [求助]请大家帮忙

基于Matlab的遗传算法工具箱有好多种,是不同的人在不同的时间开发的,现在已知的有:
GAOT 这个工具箱用的似乎是最广的,虽然不是Matlab自带的,但在网上也很容易下载到。然而它的版本实在是太老了,是适用于Matlab5.0版的,因为它的全名是The Genetic Algorithm Optimization Toolbox (GAOT) for Matlab 5,而且似乎到目前为止还没有更新版本发布。中国学术期刊网上大部分研究遗传算法的中文论文都是使用的这个工具箱(这些文章全部太垃圾了,水平极低而且还遮遮掩掩的,大部分都是到处引用,没有一篇有点创新之处的。居然还有些的程序和论文中提到的算法完全无关,让我很是无语。)
GADS 这个是Matlab7.0版本自带的工具箱,全名叫Genetic Algorithm and Direct Search Toolbox。在Matlab7.0的Help里面有对这个工具箱的详细介绍,还有很多例子作演示。

SGALAB 解决多目标遗传算法的程序。
gatbx 菲尔德大学开发的。
pslpsl 当前离线   回复时引用此帖
旧 2008-10-07, 12:36   #6
houz5559
初级会员
 
注册日期: 2008-08-02
年龄: 49
帖子: 4
声望力: 0
houz5559 正向着好的方向发展
默认 回复: [求助]请大家帮忙

看了有点启发,再看看其他的
houz5559 当前离线   回复时引用此帖
旧 2008-11-15, 09:39   #7
yjy7604
初级会员
 
注册日期: 2008-10-07
年龄: 49
帖子: 11
声望力: 17
yjy7604 正向着好的方向发展
默认 回复: [求助]请大家帮忙

学习中!向大家致敬!
yjy7604 当前离线   回复时引用此帖
回复

主题工具
显示模式

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

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



所有时间均为北京时间。现在的时间是 00:09


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