Too many output arguments. Requested 3 output(s), but only 1 output(s) available.
10 次查看(过去 30 天)
显示 更早的评论
function cost_value=cost_func(k,plotfig)
ke=k(1,1);
kce=k(1,2);
ku=k(1,3);
X=k(1,4);
z_a=abs(k(1,5));
v_a=abs(k(1,6));
% negative big
NB=-X;
% negative medium
NM=-X/2;
% positive medium
PM=X/2;
% positive big
PB=X;
Z=0;
% Compute function value
opt = simset('solver','ode23tb','SrcWorkspace','Current');
[tout,xout,yout] = sim('ACO_TS.slx',[0 0.5],opt);
% compute the fitness value
z1=sqrt(mean(rmse)); % rms error
z2=(mean(iae)); % integral absolute error
z3=(mean(itae)); % integral time multiplied absolute error
z4=(mean(ise));
cost_value=z1+z2+z3+z4+mean(thd1);
Error using cost_func
Too many output arguments. Requested 3 output(s), but only 1 output(s) available.
Error in ACO (line 58)
cost(A)=cost_func(tour_selected_param,0); - Show complete stack trace
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1584456/image.jpeg)
5 个评论
Sam Chak
2024-1-7
Can you count the number of output(s) available in your Simulink model? Perhaps you requested these three outputs (in individual vectored data form) from the Simulink model in the cost_func() function, but it's possible that you consolidated all the data into a single simulation output object named 'out', as pointed out by @Walter Roberson.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1584646/image.png)
If you are unfamiliar with the object-oriented programming (the dot notation stuff), then better configure the Simulink model to log the requested data as tout, xout, yout, rmse (incorrect!), ise, iae, and itae.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1584651/image.png)
采纳的回答
madhan ravi
2024-1-7
You expect three outputs to be returned from sim() whereas only one output can be returned from sim() command
13 个评论
madhan ravi
2024-1-8
Sorry my goal was to clear all the errors as stated in your original question. Regarding the correctness of your question , it"s better you post a new question.
更多回答(1 个)
Walter Roberson
2024-1-7
I suspect that your model has been configured to return a single output;
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Manual Performance Optimization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!