The global variable is lost between workspaces
2 ビュー (過去 30 日間)
古いコメントを表示
I have written a matlab file (base.m) for an optimization problem that uses the genetic algorithm also in which I declare a global variable A. I am using x = ga(@f(x),2,[],[],[],[],LB,UB). Note that, I have also a function f that is defined in a file called function.m. In the function I am using the global variable A which has also been declared in base.m.
However, when ga is performed to call function f, the global variable A is lost in the function evaluation.
How can I fix this problem?
1 件のコメント
Image Analyst
2016 年 6 月 26 日
So you're saying that when "f" gets called and it comes time to use A, it throws an error saying that there is no such variable? We'd need to see how you defined f. I want to make sure that you actually defined A as global in "f". Please post a simplified example that demonstrates the problem.
回答 (1 件)
Walter Roberson
2016 年 6 月 26 日
Global variables need to be defined as global in every function that they are used.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Genetic Algorithm についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!