ODE45: ODE Error using odearguments must return a column vector

1 visualización (últimos 30 días)
Haseeb
Haseeb el 24 de Abr. de 2019
Comentada: Haseeb el 24 de Abr. de 2019
Hi, I have the following equation and I am trying to solve this for Tm. The size of Qinj_t is 10525X1. I have 10525 different data points and I want to get the Tm value for each point/timestep. All other parameters are constant except the Qinj_t . By using the following code I am getting error. Can anyone please help me out?
%% Auusmptions &constant parameters
n = 1.3581 % Capacity exponent for the unit
Tsu = 75; % [C] inlet temperature of the radiator
Tair = 21; % [C] Air temperature
C_rad = 5.7770e+04; % Total thermal capacity of radiator
C=10;
%% Time series data for Qinj
tQin = (0:0.0022805:24)';
step = 10524; %
tspan =[0 0.0022805];
t0 = 0; % Start time
t1 = 24; % Final time
t = linspace(t0 , t1 , (step+1));
%% Reading data from Excel sheet
[num txt raw] = xlsread('Radiator_sweep190.xlsx');
Qinj_t = num(:,4); (10525X1)
Qinj_td = interp1(tQin, Qinj_t, t, 'linear');
Tmo = 20 ;
[t,Tm] = ode45(@(t,Tm) rad_h(t, Tm, tQin, C_rad, Qinj_td, C, Tair, n ),tspan,Tmo);
Following function is used:
function dtmdt = rad_h(t, Tm, tQin, C_rad, Qinj_td, C, Tair, n )
dtmdt = 1/C_rad*((Qinj_td)- (C*(Tm-Tair).^n))
end
  4 comentarios
Star Strider
Star Strider el 24 de Abr. de 2019
My pleasure.
It might help to know what you want to do.
Haseeb
Haseeb el 24 de Abr. de 2019
Well, I will try to explain.
I have the following equation and I want to solve this equation for 10525 timestep (for a day) to get the "Tm" values.
This is actually a simple energy balance:
Qstore = Qinj - Qemitted
Hence;
dTm/dt = 1/C_rad * ((Qinj)- (C*(Tm-Tair).^n))
In the above equation all other parameters are constant except ''Qinj''. Qinj is actually the heat injected to the radiator and it has a step change. I am using ODE45 to solve this. The purpose is to observe the change in Tm by changing the Qinj.
So I want to solve the above equation for 10525 different timesteps to get the Tm for each data point. Since this is the continuous data so the initial value for Tm (Tm0) for the next timestep will be equal to the Tm value for the previous timestep (Becuase this is the time-series data).

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Ordinary Differential Equations en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by