Too many output arguments. Requested 3 output(s), but only 1 output(s) available.
조회 수: 9 (최근 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!