Why this code says unrecognized function u?
3 views (last 30 days)
Show older comments
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.
0 Comments
Accepted Answer
the cyclist
on 20 Feb 2023
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 Comments
the cyclist
on 20 Feb 2023
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.)
More Answers (0)
See Also
Categories
Find more on Function Creation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!