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 个)

Community Treasure Hunt

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

Start Hunting!

Translated by