| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
|  | 
|  | 
|  2008-08-22, 16:24 | #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遗传算法工具箱求解下列最小值问题。 | 
|   |   | 
|  2008-08-23, 10:40 | #2 | 
| 普通会员 注册日期: 2008-08-17 年龄: 36 
					帖子: 70
				声望力: 21   |  回复: 求助 怎么总是这个界面啊 
			
			第3、4个参数是输入线性不等约束 第5、6个参数是输入线性等式约束 第7、8个参数才是限定范围 代码: [x,fval] = ga(FitnessFunction,numberOfVariables,[],[],[],[],LB,UB) | 
|   |   | 
|  2008-08-25, 14:26 | #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) | 
|   | 
|  2008-08-26, 11:07 | #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] | 
|   |   |