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 次查看(过去 30 天)
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 个)

类别

Help CenterFile Exchange 中查找有关 Interactive Model Editing 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by