Why this code says unrecognized function u?

3 次查看(过去 30 天)
I had a GA code which was generated by GA in earlier MATLAB version. But I had used there global variables. Later on, I replaced the global variables and passed them to function. All the three codes are in the attachments. You can run the m-file "main.m" and get the results. But now here in MATLAB 2022b, I run the code, and it gives me the following error:
Unrecognized function or variable 'u'.
Error in myGA1>@(b)Vectorized(b,u,Noise) (line 17)
ga(@(b)Vectorized(b,u,Noise),nvars,[],[],[],[],lb,ub,[],[],options);
Error in createAnonymousFcn>@(x)fcn(x,FcnArgs{:}) (line 11)
fcn_handle = @(x) fcn(x,FcnArgs{:});
Error in makeState (line 58)
firstMemberScore = FitnessFcn(state.Population(initScoreProvided+1,:));
Error in galincon (line 24)
state = makeState(GenomeLength,FitnessFcn,Iterate,output.problemtype,options);
Error in ga (line 416)
[x,fval,exitFlag,output,population,scores] = galincon(FitnessFcn,nvars, ...
Error in myGA1 (line 17)
ga(@(b)Vectorized(b,u,Noise),nvars,[],[],[],[],lb,ub,[],[],options);
Error in main (line 23)
[x,fval,time] = myGA1(nvars,lb,ub,PopulationSize_Data,MaxGenerations_Data,FunctionTolerance_Data,ConstraintTolerance_Data);
Caused by:
Failure in initial user-supplied fitness function evaluation. GA cannot continue.

采纳的回答

the cyclist
the cyclist 2023-2-20
I see that you have defined u in main(), but I don't see that you pass it to myGA1(). So, when myGA1() tries to pass it to Vectorize(), it's undefined.
  5 个评论
the cyclist
the cyclist 2023-2-20
I don't have the Optimization Toolbox, so I can't really help you debug this.
Since we solved your original question here, I suggest that you accept my answer to this question, and open a new question. (I also don't fully understand what you are asking, so maybe give a little more detail about why you expect to see something different than what you are seeing.)
Sadiq Akbar
Sadiq Akbar 2023-2-20
Thanks a lot dear the cyclist for your kind response. Yes, you are right. I am gong to accept your answer.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Function Creation 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by