|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
<DIV class=post_content>用遗传算法求 <BR>z=10*sin(x)+y*y; <BR>x属于[0,9],y属于[-5,5] <BR>用遗传算法求z的最小值 <BR><BR>求解主函数 <BR>function gatest <BR>% z=10*sin(x)+y*y; <BR>% x属于[0,9],y属于[-5,5] <BR>% 用遗传算法求z的最小值 <BR><BR>initPop=initializega(100,[0 9;-5 5],'myEval'); <BR>[x,endPop,bPop,traceInfo] = ga([0 9;-5 5],'myEval',[],initPop,[1e-6 1 1]); <BR>disp('参数x的取值为:'); <BR>disp(x(1)); <BR>disp('参数y的取值为:'); <BR>disp(x(2)); <BR>disp('所求的式子的最小值为:'); <BR>disp(50-x(3)); <BR><BR>适应度函数: <BR><BR>function [sol, val] = myEval(sol,options) <BR>% f(x)=10*sin(x)+y*y; <BR>% <BR><BR>x=sol(1); <BR>y=sol(2); <BR>val2 =10*sin(x)+y*y; <BR>val=50 -val2; %比较重要的一步,具体的可以参考有关的ga的书籍</DIV> |
|