mdsk.net
当前位置:首页 >> 遗传算法mAtlAB仿真 >>

遗传算法mAtlAB仿真

我的毕设只用把pid和模糊pid相比较常规pid,用matlab里的simulink模块仿真,建立你要做的动力学模型的传函或者状态空间.pid参数调节可用临界比度法.模糊pid就麻烦了,打开matlab中fis模块,一般都用二阶模糊?输入e,ec的隶属函数,一般为高斯,和输出模糊kp,ki,kd,一般为三角.还要整定模糊规则,再加载到simulink里.调节模糊因子gu,ge,gec,设置模糊pid的参数.总之,你这个问题在白度知道里很难说清楚.

你可以得到两个算法的仿真结果(x,y),之后用plot绘制即可.(加hold on;可实现一张图中绘制多条曲线)

遗传算法比较难编啊 楼主真厉害 matlab提供了许多的工具包和函数库可以直接调用 你把C语言用matlab语言重新写一遍 很快的 然后就可以仿真了

遗传算法在matlab里有两个函数,分别是ga和gaoptimset,前者用来调用遗传算法,后者用来设定遗传算法的参数,具体内容可以doc ga查看,遗传算法有哪些参数可以直接在命令窗口输入gaoptimset查看,祝好.

这么复杂的公式,要有数据才能试验编程.不是一下能搞定的.

myfun = @(x)x^2-1;[x,fval] = ga(myfun,1)Result1:x= 0.0069fval = -1;介是一个example吧,你可以看看help document,ga函数还有其它参数设置.

我现在想通过遗传算法将这个表达式进行优化你是找 使表达式值为最小时的路径 吧?

maxgenerations,是迭代次数,是用循环语句实现的,如果求解空间不大,改小点就好,population 是每次迭代的并行运算数量.我个人在求解中发现,该值对结果影响较大,一般不要改变.crossoverfraction,变异系数,与运算复杂度无关.如果程序运行时间很长,检查一下是不是你把遗传算法又放入另一层循环了,一般这样运算时间就会呈现指数级增长.如果这样,就修改算法.

我发一些他们的源程序你,都是我在文献中搜索总结出来的:% 下面举例说明遗传算法 %% 求下列函数的最大值 %% f(x)=10*sin(5x)+7*cos(4x) x∈32313133353236313431303231363533e4b893e5b19e31333262356661[0,10] %% 将 x 的值用

点matlab里面的start菜单,从toolbox里面选取optimization toolbox,在早期版本里面不叫这个名字,从2010b以后的版本把非线性方程组求解的算法都放在一起了.里面第一个下拉菜单选择最后一个,里面写的ga.fitness function是你的函数.遗传算法求解的goal是0,如果你要求趋近某一个值,就要看你的fitness function怎么写了.下面number of variables是你要求解的维数.接着点击运行就行了.因为不知道你的具体目的是什么,也没有代码发上来,所以我只能说这种很没用的话.

fpbl.net | wwfl.net | ncry.net | wlbx.net | 90858.net | 网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com