仅供学习使用,若有侵权删除
PlatEMO使用方式有两种,一种是图形化的使用,直接通过main()调用,显示出界面;第二种是通过main()函数中使用参数,比如:
main(’-algorithm’,@ARMOEA,’-problem’,@DTLZ2,’-N’,200,’-M’,10)
function main(varargin) %varargin这个参数是用来接收main函数中的参数
cd(fileparts(mfilename('fullpath')));
--------
p = mfilename('fullpath')
是返回最近函数被激活函数的文件路径,里面包含文件名;
cd(fileparts(mfilename('fullpath')));切换到当前文件路径(与linux系统中的指令相似)
--------
addpath(genpath(cd)); %addpath(genpath(cd));加入路径到matlab中
if isempty(varargin)%如果main函数中没有参数,为空返回1,执行if中的语句;
if verLessThan('matlab','8.4') %比较版本,低于8.4显示错误信息;
errordlg('Fail to establish the GUI of PlatEMO, since the version of MATLAB is lower than 8.4 (R2014b). You can run PlatEMO without GUI by invoking main() with parameters.','Error','modal');
else
GUI(); %启动图形界面
end
else %若另一种情况,main函数中有参数,启动程序
if verLessThan('matlab','7.14')
error('Fail to execute PlatEMO, since the version of MATLAB is lower than 7.14 (R2012a). Please update the version of your MATLAB software.');
else%版本符合要求
Global = GLOBAL(varargin{:}); %varargin是元胞数组,这个意思是将输入变量赋值给Global这个自定义的类,里面的是重点
Global.Start();%启动函数这个里面也是重点,建议调试的看。
end
end
end
平台上的代码写的好高级,看起来费事,不过继续加油,努力奋斗。