Why this code says unrecognized function u?

3 ビュー (過去 30 日間)
Sadiq Akbar
Sadiq Akbar 2023 年 2 月 20 日
コメント済み: Sadiq Akbar 2023 年 2 月 20 日
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 Center および File ExchangeFunction Creation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by