楼主: fantuanxiaot
6222 30

[源码分享] [原创]太阳出来我爬山咯 [推广有奖]

Ψ▄┳一大卫卍卐席尔瓦

大师

8%

还不是VIP/贵宾

-

威望
7
论坛币
-234475 个
通用积分
124.1424
学术水平
3783 点
热心指数
3819 点
信用等级
3454 点
经验
150207 点
帖子
7546
精华
32
在线时间
1327 小时
注册时间
2013-2-3
最后登录
2022-2-24

初级学术勋章 初级热心勋章 中级热心勋章 中级学术勋章 初级信用勋章 中级信用勋章 高级热心勋章 高级学术勋章 特级学术勋章 特级热心勋章 高级信用勋章 特级信用勋章

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
fantuanxiaot出品

Gif_Geatbx_Example.gif



基于谢菲尔德大学的遗传算法工具箱的动态图制作


代码如下


本帖隐藏的内容


  1. function Gif_Geatbx_Example
  2. %  copyright by fantuanxiaot
  3. %  基于谢菲尔德大学遗传算法工具箱制作动态gif图的练习
  4. %  遗传算法的一些参数设置
  5. %  上下界
  6. ub_lb=[-pi -pi;pi pi];
  7. %  各种概率和其他参数
  8. Population=100;
  9. MaxIteration=50;
  10. SelectionProbability=0.9;
  11. CrossoverProbability=0.7;
  12. MutationProbability=0.02;
  13. NumberofIndividuals=2;
  14. %  准确度
  15. Precision=10;
  16. %  建立扫描区间
  17. FielD=[repmat(Precision,1,NumberofIndividuals);ub_lb;repmat([1;0;1;1],1,NumberofIndividuals)];
  18. Iteration=0;
  19. Chromsome=CRTBP(Population,NumberofIndividuals*Precision);
  20. %  X是初始的自变量种群
  21. X=BS2RV(Chromsome,FielD);
  22. %  ObjV是初始的适应度
  23. ObjV=ObjVfun(X);
  24. %  先将初始的自变量种群在图中进行描绘
  25. x=-pi:pi/30:pi;
  26. y=x;
  27. [xx,yy]=meshgrid(x,y);
  28. zz=exp(-xx.^2-yy.^2);
  29. figure(1)
  30. set(figure(1),'color','w')
  31. value_x=X(:,1);
  32. value_y=X(:,2);
  33. value_z=ObjV;
  34. %  绿的小三角形就是初始的种群
  35. h=plot3(value_x,value_y,value_z,'k<','markersize',10,'markerfacecolor','g');
  36. hold on
  37. mesh(xx,yy,zz)
  38. title('太阳出来了我爬山咯','fontsize',16,...
  39.     'fontname','Times New Roman')
  40. colormap('HSV')
  41. xlim([-pi,pi])
  42. ylim([-pi,pi])
  43. hold off
  44. %  记录最优种群和适应度值
  45. traceX=zeros(MaxIteration,NumberofIndividuals);
  46. traceY=zeros(MaxIteration,1);
  47. disp('动态图即将开始,还剩下3秒 ')
  48. disp('动态图即将开始,还剩下2秒 ')
  49. disp('动态图即将开始,还剩下1秒 ')
  50. pause(3)
  51. %  动态图开始
  52. while Iteration<MaxIteration
  53.     %  寻找最大值
  54.     FitV=RANKING(-ObjV);
  55.     SelCh=SELECT('SUS',Chromsome,FitV,SelectionProbability);
  56.     SelCh=RECOMBIN('XOVSP',SelCh,CrossoverProbability);
  57.     SelCh=MUT(SelCh,MutationProbability);
  58.     %  形成了新的种群
  59.     X=BS2RV(SelCh,FielD);
  60.     ObjSelV=ObjVfun(X);
  61.     [Chromsome,ObjV]=REINS(Chromsome,SelCh,1,1,ObjV,ObjSelV);
  62.     X=BS2RV(Chromsome,FielD);
  63.     %  迭代次数加1
  64.     Iteration=Iteration+1;
  65.     %  ObjV和X为新的种群和适应度值
  66.     value_x=X(:,1);
  67.     value_y=X(:,2);
  68.     value_z=ObjV;
  69.     %  对图更换新的小三角点
  70.     set(h,'xdata',value_x,'ydata',value_y,'zdata',value_z)
  71.     pause(0.01)
  72.     %  最优值的动态摸索
  73.     Active_plot(Iteration)
  74.     disp(['寻找的次数为第',num2str(Iteration),'次'])
  75. end
  76. end
  77. %  举例函数
  78. function ObjV=ObjVfun(X)
  79. N=size(X,1);
  80. ObjV=zeros(N,1);
  81. for i=1:N
  82.     ObjV(i)=example_fun(X(i,:));
  83. end
  84. end
  85. %  举例函数
  86. function f=example_fun(x)
  87. f=exp(-x(1)^2-x(2)^2);
  88. end
  89. %  动态作图函数
  90. function Active_plot(i)
  91. filename='Gif_Geatbx_Example.gif';
  92. %  f.cdata和f.colormap
  93. frame=getframe(gcf);
  94. image=frame2im(frame);
  95. [image,map]=rgb2ind(image,256);
  96. if i==1
  97.     imwrite(image,map,filename,'gif','Loopcount',inf,'DelayTime',0.05);
  98. else
  99.     imwrite(image,map,filename,'gif','WriteMode','append','DelayTime',0.05);
  100. end
  101. end
复制代码




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:fantuanxiaot Individuals Probability Individual Population 爬山

回帖推荐

sunyiping 发表于24楼  查看完整内容

学习学习!

孙世明 发表于22楼  查看完整内容

这是一个人哈!

回眸明天 发表于21楼  查看完整内容

呃呃呃,额阿坤最近在论坛火起来了!!!你可以找阿坤 或者曼城要点宣传费! 效果图都很神奇,可是不是学这个的,看不明白!

sunyiping 发表于18楼  查看完整内容

学习学习!

slrosssss 发表于4楼  查看完整内容

哈哈 有意思!!

gssdzc 发表于13楼  查看完整内容

非常感谢分享

zxxsm 发表于12楼  查看完整内容

很不错啊!标题取得相当形象!

mike68097 发表于9楼  查看完整内容

支持!!!!

faruto 发表于7楼  查看完整内容

赞~ 顶顶~
已有 4 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
回眸明天 + 3 啊啊 我讨厌曼城 最近阿坤露脸次数太多了!.
zbin7451f + 100 + 5 + 5 + 5 对论坛有贡献
chenyi112982 + 100 + 5 + 5 图文并茂,像个艺术品,呵呵
slrosssss + 5 + 3 + 3 + 3 精彩帖子

总评分: 经验 + 200  论坛币 + 5  学术水平 + 13  热心指数 + 16  信用等级 + 8   查看全部评分

本帖被以下文库推荐

沙发
weitingkoala 发表于 2014-12-1 10:39:49 |只看作者 |坛友微信交流群
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
fantuanxiaot + 2 + 2 + 2 + 2 精彩帖子

总评分: 论坛币 + 2  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

使用道具

藤椅
aasa11 发表于 2014-12-1 10:42:46 |只看作者 |坛友微信交流群
看一下~~~

使用道具

板凳
slrosssss 在职认证  企业认证  发表于 2014-12-1 10:48:11 |只看作者 |坛友微信交流群
哈哈 有意思!!

使用道具

报纸
阿袋 发表于 2014-12-1 11:03:59 |只看作者 |坛友微信交流群
很炫啊 看看

使用道具

地板
榄外人L 发表于 2014-12-1 11:42:36 |只看作者 |坛友微信交流群
好炫,要加快学习,赶不上LZ的步伐

使用道具

7
faruto 发表于 2014-12-1 11:59:09 |只看作者 |坛友微信交流群
赞~ 顶顶~
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
fantuanxiaot + 2 + 5 + 5 + 5 精彩帖子

总评分: 论坛币 + 2  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

使用道具

8
fantuanxiaot 发表于 2014-12-1 12:12:12 |只看作者 |坛友微信交流群
榄外人L 发表于 2014-12-1 11:42
好炫,要加快学习,赶不上LZ的步伐
加油 我菜鸟一个 不足挂齿
已有 1 人评分经验 学术水平 热心指数 信用等级 收起 理由
zbin7451f + 100 + 5 + 5 + 5 有些谦虚!

总评分: 经验 + 100  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

使用道具

9
mike68097 发表于 2014-12-1 12:24:02 |只看作者 |坛友微信交流群
支持!!!!

使用道具

10
lipj 在职认证  发表于 2014-12-1 12:38:01 |只看作者 |坛友微信交流群

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-19 17:25