I am trying to find the root mean square error(RMSE) but i am getting this error when I tried to find the output in command window 'Unrecognized function or variable 'Hot_Output'.

16 次查看(过去 30 天)
function [OBJ] = Main_Combined_optimization(Opt_Param)
%% code Description: Main optimization Function
%%Run Model with optimization Parameters
global hot;
Data = xlsread('hotspot.csv');
hot.RecordingTime = Data(:,1);
hot.Loading = Data(:,2);
hot.HotToTopOilGradient = Data(:,3);
t = hot.RecordingTime;
K = hot.Loading;
Hot_Output = hot.HotToTopOilGradient;
%% call the optimizer
[HotSpotTemperture_Optimization] = Combined_Optimization(K,Opt_Param,t);
error_HT = Hot_Output - HotSpotTemperture_Optimization;
OBJ_HT = sum( trapz(t, error_HT.^2));
OBJ = OBJ_HT;
%% Calculate the RMSE
RMSE = sqrt( sum((Hot_Output(:)- HotSpotTemperture_Optimization(:)).^2) / numel(Hot_Output) );
end

采纳的回答

Just Manuel
Just Manuel 2021-2-24
That's a question of variable scope. Variables declared in a function are only visible within the function that declared it.
If you want to use that data after execution of the function, make it an output variable. If you just want to have a look at it for debugging, set a breakpoint in your function (go at this line: [HotSpotTemperture_Optimization] = Combined_Optimization(K,Opt_Param,t); where Hot_Temperature is already assigned.), then you will see all the variables in the workspace window.
Cheers
Manuel
  5 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Graphics Object Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by