热流方程Matlab

时间:2018-11-05 21:53:41

标签: matlab

我目前正在研究建造太阳能食品干燥机的项目,我需要在Matlab上建模产品温度如何随太阳辐射Q的变化而变化。

Q由;

给出
Q =960*(sin(2*pi*Time2/24)).^2; %W/m2

其中

Time2 = (1:t:12); %hours

热流方程为

Q(t)A = mcp*(T2-T1) + (mw*lw)

其中:

mw = 0.706; % Mass of water loss from product in hr (Kg/h)

m = 15; % Mass of product to dry (Kg)

lw = 2260000; % Latent heat of vaporisation of water (J/Kg)

A = 1; % Surface Area of collector (m^2)

cp= 3746; % Specific heat capacity of product (J/Kg/C)

T1 = temperature at t

T2 = temperature at t + dt

控制热流使T2为;

T2= (((Q*A*3600) -(mw*lw))/(m*cp)) + T1; % 3600 is there to convert j/s to J/h

无论如何在Matlab上实现这一点对我来说都是一个挑战-我对Matlab还是陌生的

这是我到目前为止所拥有的;

close all

clear;

mw = 0.706; % Mass of water loss from product in hr (Kg/h)

m = 15; % Mass of product to dry (Kg)

lw = 2260000; % Latent heat of vaporisation of water (J/Kg)

A = 1; % Surface Area of Collector (m^2)

cp= 3746; % Specific heat capacity of product (J/Kg/C)

t = 1; % Time step

T = 24; % Initial Temperature (°C)



Time2=(1:t:12); hours

Q=960*(sin(2*pi*Time2/24)).^2; % Solar irradiation in tropical regions at specific time (W/m2)

for j = 1:12

 T(j+1)= ((((QQ2(j)*A*j*3600))-(mw*lw))/(m*cp))+ T(1);

end

figure(2)

plot(T)

title('Temperature')

xlabel('time (hours)')

ylabel('Temperature (°C)')

这似乎是错误的,因为质量m每隔一小时应减少mw,并且温度分布应遵循太阳辐射的分布。即同时达到顶峰

我已经花了几天时间来解决这个问题,但是我在Matlab上表现很差,所以我没有取得任何有意义的进步。任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

所以我不确定这是否是您要寻找的Ran,但是有些地方看起来像错字(?),这些会改变行为。您有QQ2(j)突然出现在脚本中间...我想那只是Q [j)。您添加到t(1)的循环的每个周期,我想您的意思是t(j)?当然,循环也应该减小m吗? 所以我修改了这个...

for j = 1:12
     T(j+1)= ((((Q(j)*A*j*3600))-(mw*lw))/(m*cp))+  T(j);
     m=m-mw*t;
end

现在T在12点达到峰值。

话虽如此,我认为使用诸如“ ode45()”之类的微分方程求解器可以更好地解决此类问题,但是在建议如何在Matlab中进行操作之前,我需要先查看该微分方程,但是不应该太棘手!

###大家好,然,好的,您现在已经在注释中添加了dydx,所以这是我如何解决此问题的方法(接受这一方程式本身我并不了解!):
 clear;
global conv;
conv=60*60;
mw = 0.706/conv; % Mass of water loss from product in hr (Kg/h)
m = 15.0; % Mass of product to dry (Kg)
lw = 2260000.0; % Latent heat of vaporisation of water (J/Kg)
A= 1.0; % Surface Area of Collector (m^2)
cp= 3746.0; % Specific heat capacity of product (J/Kg/C)
T = 24.0; % Initial Temperature (°C)
%%
%% for j = 1:12
%% T(j+1)= ((((Q(j)*A*j*3600))-(mw*lw))/(m*cp))+ T(j);
%% m=m-mw*t;
%% end

tspan = [0, 12*conv];
yo=[T;m];
[t,y] = ode45(@(t,y) ode(t, y,[A,mw,lw,cp]), tspan, yo);

yfinal=y;
figure (1)
plot(t./conv,yfinal(:,1))
title('Temperature')
xlabel('time (hours)')
ylabel('Temperature (°C)')
figure (2)
tqs=linspace(0,12);
Qt=960.0*(sin(2.0.*pi.*tqs./(24.0))).^2;
plot(tqs,Qt);
function dydt=ode(t,y,x)
    global conv;
    A =x(1);
    mw =x(2);
    lw =x(3);
    cp =x(4);
    m=y(2);
    Q=960*(sin(2*pi*t/(24*conv)))^2; % Solar irradiation in tropical regions at specific time (W/m2)
    dydt=[((Q * A)-(mw*lw))/(m*cp);-mw];
end

给出这样的输出,我认为方程式将需要摆弄,但是希望ODE的结构有帮助吗? 附言:我不相信峰值温度会匹配峰值热量输入,因为通常会有滞后。一天中最热的部分通常是在英国下午3点...但是自从高中以来我就没有研究过传热...  THIS

关于R