How can i use different initial values from my excel file when my load changes to different values? in this code how T_T_G can be initialized into different values from excel sheet
1 view (last 30 days)
Show older comments
function [OBJ] = Main_Combined_optimization2(Opt_Param)
%% code Description: Main optimization Function
%%Run Model with optimization Parameters
Data = xlsread('Oilpocketall1.csv');
t = Data(:,1);
K = Data(:,2);
Top_Output = Data(:,3);
%% call the optimizer
[TopOilTemperture_Optimization] = Combined_Optimization2(K,Opt_Param,t);
error_HT = Top_Output - TopOilTemperture_Optimization;
OBJ_HT = sum( trapz(t, error_HT.^2));
OBJ = OBJ_HT;
%% Plot Functions
% figure
% plot(Top_Output);
% grid on
%
% hold all
% plot(TopOilTemperture_Optimization(:))
% ylabel('Temperature (T)')
% xlabel('Time (Min)')
% legend('Experimental result', 'Optimized Model')
% grid on
%%Calculate the RMSE
% RMSE = sqrt(sum((Top_Output(:) - TopOilTemperture_Optimization(:)).^2) / length(Top_Output));
% display(RMSE);
RMSE_1 = sqrt(sum((Top_Output(:)- TopOilTemperture_Optimization(:)).^2) / numel(Top_Output));
display(RMSE_1);
end
%%
function [TopOilTemperture_Optimization] = Combined_Optimization2(K,param,t)
%% Define combined Model Parameters (2)
B = param(1); % Oil exponent
k11 = param(2);
Data = xlsread('Oilpocketall1.csv');
u = Data(:,3);
%% Define Model Fixed/known parameters
T_T_G = 0.40; % Top_oil initial rise over ambient 0.7(17.5) 1(2.10) 1.25(15.95) 1.25(15.95)
T_G = 37.63; % 37.63 Top_oil temperature rise over ambient at steady state 0.7(25.83) 1(42.83) 1.25(58.2083)
To = 231.72; % 0.7(259.69) 1(297.7014) 1.25(296.3116)
R = 9.73;
%% start simulting the model
TopOilTemperture_Optimization = [];
%% combined Model Simulation
iK = length(K);
for j = 1:iK
%% Run updated Model
TopOil_Temperature = T_T_G + (T_G*((1+R*(K(j)).^2)/(1+R)).^B - T_T_G)*(1-exp(-t(j)/(k11*To)));
% TopOil_Temperature = T_G*((1+R*(K(j))^2)/(1+R))^B + (T_T_G - T_G*((1+R*(K(j))^2)/(1+R))^B)* exp(-t(j)/(k11*To));
if ~isnan( TopOil_Temperature) && isreal( TopOil_Temperature)
TopOilTemperture_Optimization = [TopOilTemperture_Optimization;TopOil_Temperature];
else
TopOilTemperture_Optimization = [TopOilTemperture_Optimization; 1000000000000000];
end
end
end
0 Comments
Answers (0)
See Also
Categories
Find more on Interactive Model Editing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!