qq_41027440 2018-09-25 12:53 采纳率: 0%
浏览 2875

文件:Untitled.m 行:8 列:40 不是所需的 MATLAB 表达式。

clc
clear all
close all
%% 画出函数图
figure(1);
lbx=-2;ubx=2;
lby=-2;uby=2;
ezmesh('y*sin(2*pi*x)+x*cos(2*pi*y)',[1bx,ubx,1by,uby],50);
hold on;
%% 定义遗传算法参数
NIND=40;
MAXGEN=20;
PRECI=20;
GGAP=0.95;
px=0.7;
pm=0.01;
trace=zeros(3,MAXGEN);
FieldD=[PRECI PRECI;lbx 1by;ubx uby;1 1;0 0;1 1;1 1];
Chrom=crtbp(NIND,PRECI*2);
%% 优化
gen=0;
X=bs2rv(Chrom,FieldD);
X=XY(:,1);Y=XY(:,2);
ObjV=Y.*sin(2*pi*X)+X.*cos(2*pi*Y);
while gen<MAXGEN
FitnV=ranking(-ObjV);
SelCh=select('sus',Chrom,FitnV,GGAP);
SelCh=recombin('xovsp',SelCh,px);
SelCh=mut(SelCh,pm);
X=bs2rv(SelCh,FieldD);
X=XY(:,1);Y=XY(:,2);
ObjVSel=Y.*sin(2*pi*X)+X.*cos(2*pi*Y);
[Chrom,ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel);
X=bs2rv(Chrom,FieldD);
gen=gen+1;
%获取每代的最优解及其序号,Y为最优解,I为个体的序号
[Y,I]=min(ObjV);
trace(1,2,gen)=XY(I,:);
trace(3,gen)=Y;
end
plot3(trace(1,:),trace(2,:),trace(3,:),'bo');
grid on;
plot3(XY(:,1),XY(:,2),ObjV,'bo');
hold off
%% 画进化图
figure(2);
plot(1:MAXGEN,trace(3,:));
grid on
xlabel('遗传代数')
ylabel('解的变化')
title('进化过程')
bestZ=trace(3,end);
bestY=trace(2,end);
bestX=trace(1,end);
fprintf(['最优解:\nX=',num2str(bestX),'\nY=',num2str(bestY),'\nZ=',num2str(bestZ),'\n'])

  • 写回答

1条回答 默认 最新

  • zhuye1530 2018-10-10 14:19
    关注

    1bx和1by里面的数字1改成小写字母l(L的小写),这样才跟6和7行的相同啊

    评论

报告相同问题?

悬赏问题

  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛