| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 
	 | 
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-08-02 
				
				年龄: 50 
				
					帖子: 4
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			帮忙看下这个一元函数优化代码的错误 
		
		
		
		
		
		
		
	f(x)=xsin(10π.x)+2.0 x∈[-1,2] fplot('variable.*sin(10*pi*variable)+2.0',[-1,2]); NIND=40; MAXGEN=25; PRECI=20; GGAP=0.9; trace=zeros(2,MAXGEN); FieldD=[20;-1;2;1;0;1;1]; Chrom=crtbp(NIND,PRECI); gen=0; variable=bs2rv(Chrom,FieldD); ObjV=variable.*sin(10*pi*variable)+2.0; while gen<MAXGEN, FitnV=ranking(-ObjV); SelCh=select('sus',Chrom,FitnV,GGAP); SelCh=recombin('xovsp',SelCh,0.7); SelCh=mut(SelCh); variable=bs2rv(SelCh,FieldD); ObjVSel=variable.*sin(10*pi*variable)+2.0; [Chrom ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel); gen=gen+1; [Y,I]=max(ObjV);hold on; plot(variable(I),Y,'bo'); trace(1,gen)=max(ObjV); trace(2,gen)=sum(ObjV)/length(ObjV); end variable=bs2rv(Chrom,FieldD); hold on;grid; plot(variable',ObjV','b*'); Figure(2); plot(trace(1,  ');hold on; plot(trace(2,  ','-');grid;legend ??? Undefined function or method 'crtbp' for input arguments of type 'double'. Error in ==> ttt at 8 Chrom=crtbp(NIND,PRECI);  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 |