My simple work running Genetic Algorithm with simulink doesn't work, with error 'Unable to resolve the name... '.

31 views (last 30 days)
Hi,
I'm using MATLAB R2024b Home edition, with 'Simulink', 'Global Optimization Toolbox', and 'Optimization Toolbox'.
I'm gonna run my work to find the optimum PID gain using the Genetic Algorithm(GA) that are described in my simulink configuration in the below figure.
In the simulink configuration, the 'out.ITAE', which is for 'To Workspace' block, stands for my fitness function that should be minimized through GA. The variables 'k' are gain values for PID(total 3 variables).
When I try to solve 'GA' through the command [solution, objectiveValue] = ga(@tunning,3), I got the error message 'Unable to resolve the name 'out.ITAE', as shown in the figure below.
Could you please give any comment to solve this issue?
Thank you very much in advance.

Accepted Answer

Walter Roberson
Walter Roberson on 14 Dec 2024 at 3:56
By default, To Workspace outputs to the base workspace. Your code assumes that out.ITAE is available in the workspace of the function rather than the base workspace.
  1 Comment
Yeonghoon
Yeonghoon on 14 Dec 2024 at 5:25
Thank you for your help.
After I use 'evalin' function to load variable in the base workspace, it works OK.
function cost = tunning(k)
assignin('base','k',k);
sim('testga.slx');
temp = evalin('base','out.ITAE');
cost=temp(length(temp));
end

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!