人工智能的一段程序,老出问题,望专家指点
learclc
tic;
gen=500;N=65;L=22;n=10;pm=0.1;fat=0.2;
P=init(N,L);
xmin=0;xmax=9;
f='x+10*sin(x.*5)+7*cos(x.*4)';
vfx=[];vmfit=[];
it=0;
while it<gen
it=it+1;
x=decode(P(:,1:22),xmin,xmax);
fit=eval(f);
if it==1
figure(1);fplot(f,);grid on;hold on;
plot(x,fit,'k*');title('(a)抗体的初始位置分布图');xlabel('x');ylabel('y');
end
if it==gen
figure(2);fplot(f,);grid on;hold on;
plot(x,fit,'k*');title('(b)抗体的最终位置分布图');xlabel('x');ylabel('y');
end
T=[];
=sort(fit);
valx=x(ind(end-n+1:end));
fx=a(end-n+1:end);
vfx=;
=reprod(n,fat,N,ind,P,T);
T=Hypermutation(T,L,pm,xmax,xmin);
T(pcs,:)=P(fliplr(ind(end-n+1:end)),:);
x=decode(T(:,1:22),xmin,xmax);
fit=eval(f);pcs=;vmfit=;
for i=1:n
=max(fit(pcs(i)+1:pcs(i+1)));
bcs(i)=bcs(i)+pcs(i);
end
P(fliplr(ind(end-n+1:end)),:)=T(bcs,:);
end
=max(fit)
x(bb)
toc
function ab=init(n,s)
ab=2.*rand(n,s)-1;
ab=hardlim(ab);
function x=decode(v,xmin,xmax)
v=fliplr(v);
s=size(v);
aux=0:1:21;aux=ones(s(1),1)*aux;
x1=sum((v.*2.^aux)');
x=xmin+(xmax-xmin)*x1./4194303;
.
.
.
.
.
end
end
----------------------------------------------------------------
这是出现的错误:Function definitions are not permitted at the prompt or in scripts.
好像脚本里面定义了函数,要重写另一个文件定义函数
由于是新手,具体怎么操作
谢谢
页:
[1]