フィルターのクリア

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 Center および File ExchangeModel Building and Assessment についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by