| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-08-21 
				
				年龄: 39 
				
					帖子: 1
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			function y = my_fun(x) 
		
		
		
		
		
		
		
	y = {cos(2*x(1)+1)+2*cos(3*x(1)+2)+3*cos(4*X(1)+3)+4*cos(5*x(1)+4)+5*cos(6*x(1)+5)}*{cos(2*x(2)+1)+2*cos(3*x(2)+2)+3*cos(4*x(2)+3)+4*cos(5*x(2)+4)+5*cos(6*x(2)+5)}; FitnessFunction = @my_fun; numberOfVariables=2; x0=[-10 -10]; LB=[-10 -10]; UB=[10 10]; range = [LB(1) UB(1); LB(2) UB(2)]; [x,fval] = ga(FitnessFunction,numberOfVariables,LB,UB) ??? Error using ==> gads\private\aluform The number of rows in A must be the same as the length of b. Error in ==> gads\private\galincon at 123 [Iterate,A,L,U,nineqcstr,neqcstr,ncstr,IndIneqcstr,IndEqcstr,msg,EXITFLAG] = ... Error in ==> ga at 254 [x,fval,exitFlag,output,population,scores] = galincon(FUN,GenomeLength,Aineq,Bineq,Aeq,Beq,LB,UB,options); :cry: :cry: :cry: :cry: :cry: 怎么搞得啊? 题目是::试利用Matlab遗传算法工具箱求解下列最小值问题。  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			 普通会员 
			
			
			
			注册日期: 2008-08-17 
				
				年龄: 36 
				
					帖子: 70
				 
				
				
				声望力: 21 ![]() ![]()  | 
	
	
	
		
		
			
			 
			
			第3、4个参数是输入线性不等约束 
		
		
		
		
		
		
		
	第5、6个参数是输入线性等式约束 第7、8个参数才是限定范围 代码: 
	[x,fval] = ga(FitnessFunction,numberOfVariables,[],[],[],[],LB,UB)  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			 游客 
			
			
			
			
					帖子: n/a
				 
				
				
				
				
				 | 
	
	
	
		
		
			
			 
			
			改过 还是不对嘛  
		
		
		
		
		
		
		
	??? Error using ==> gads\private\makeState GA cannot continue because user supplied fitness function failed with the following error: Error: File: g:\Program Files\MATLAB71\work\my_fun.m Line: 1 Column: 9 Unbalanced or misused parentheses or brackets. Error in ==> gads\private\galincon at 141 state = makeState(GenomeLength,FitnessFcn,options); Error in ==> ga at 257 [x,fval,exitFlag,output,population,scores] = galincon(FUN,GenomeLength,Aineq,Bineq,Aeq,Beq,LB,UB,options); Error in ==> F at 6 [x,fval] = ga(FitnessFunction,numberOfVariables,[],[],[],[],LB,UB)  | 
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#4 | 
| 
			
			 普通会员 
			
			
			
			注册日期: 2008-08-17 
				
				年龄: 36 
				
					帖子: 70
				 
				
				
				声望力: 21 ![]() ![]()  | 
	
	
	
		
		
			
			 
			
			这是完全调好后的代码,在MATLAB7.1通过: 
		
		
		
		
		
		
		
	代码: 
	function ga_solmy_fun %EDIT BY PSL@CSU %QQ:547423688 %Email:[email protected] FitnessFunction = @my_fun; numberOfVariables=2; LB=[-10 -10]; UB=[10 10]; %没有额外约束 所以MutationFcn参数没有设定 %求解时会有警告 可以忽略该警告 options=gaoptimset('TolFun',1e-015); [x,fval] = ga(FitnessFunction,numberOfVariables,[],[],[],[],LB,UB,[],options) function y = my_fun(x) y = (cos(2*x(1)+1)+2*cos(3*x(1)+2)+3*cos(4*x(1)+3)+4*cos(5*x(1)+4)+... 5*cos(6*x(1)+5))*(cos(2*x(2)+1)+2*cos(3*x(2)+2)+3*cos(4*x(2)+3)+... 4*cos(5*x(2)+4)+5*cos(6*x(2)+5)); %EDIT BY PSL@CSU %QQ:547423688 %Email:[email protected]  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 |