给出室内空气等效热容、墙体等效热容,室内空气和墙体内侧的等效热阻、墙体外侧和室外空气的等效热阻,室内温度、墙体温度、室外温度电采暖设备制热功率电采暖设备的额定功率,S(t)为电采暖设备的开关状态,用matlab写房间温变过程的集总参数常微分方程的解
时间: 2024-02-13 17:02:58 浏览: 199
根据题目的要求,我们可以将房间温变过程的集总参数常微分方程表示为:
$$
\begin{aligned}
C_{1}\frac{d T_{1}}{d t} &= -\frac{1}{R_{2}}(T_{1}-T_{2}-T_{a}R_{1}) + P_{h}S(t) \\
C_{2}\frac{d T_{2}}{d t} &= \frac{1}{R_{1}}(T_{1}-T_{2})
\end{aligned}
$$
其中,$C_{1}$和$C_{2}$分别表示室内空气的等效热容和墙体的等效热容,$R_{1}$和$R_{2}$分别表示室内空气和墙体内侧的等效热阻,$R_{1}$和$R_{2}$分别表示墙体外侧和室外空气的等效热阻,$T_{1}$、$T_{2}$和$T_{a}$分别表示室内温度、墙体温度和室外温度,$P_{h}$表示电采暖设备的额定功率,$S(t)$表示电采暖设备的开关状态(0或1)。
将上述微分方程化简为常微分方程组:
$$
\begin{aligned}
\frac{d T_{1}}{d t} &= -\frac{1}{C_{1}R_{2}}(T_{1}-T_{2}-T_{a}R_{1}) + \frac{P_{h}}{C_{1}}S(t) \\
\frac{d T_{2}}{d t} &= \frac{1}{C_{2}R_{1}}(T_{1}-T_{2})
\end{aligned}
$$
然后,我们可以使用 MATLAB 中的 ode45 函数来求解上述常微分方程组的解。下面是一个可能的 MATLAB 程序:
```matlab
% 系统参数
C1 = 100; % 室内空气等效热容,单位:J/℃
C2 = 50; % 墙体等效热容,单位:J/℃
R1 = 10; % 室内空气和墙体内侧的等效热阻,单位:J/s/℃
R2 = 5; % 墙体外侧和室外空气的等效热阻,单位:J/s/℃
Ph = 2000; % 电采暖设备的额定功率,单位:W
% 初始化
T1_0 = 20; % 室内初始温度,单位:℃
T2_0 = 20; % 墙体初始温度,单位:℃
tspan = [0, 86400]; % 时间范围,单位:s
y0 = [T1_0, T2_0]; % 初始状态变量
options = odeset('RelTol',1e-6,'AbsTol',1e-6); % 求解器选项
% 定义 S(t) 函数
Tamb = @(t) 20 + 10*sin(2*pi*t/86400); % 环境温度,单位:℃
deltaT_threshold = 2; % 温度差阈值,单位:℃
Son = @(t) (T1(t) - Tamb(t) > deltaT_threshold); % 开关状态函数
S = @(t) (Son(t) || (t == tspan(1))) && (t ~= tspan(2)); % 离散化开关状态
% 求解微分方程
[T, Y] = ode45(@(t,y) roomtemp(t, y, Tamb, S, Ph, C1, C2, R1, R2), tspan, y0, options);
% 绘制温度变化曲线
figure;
plot(T/3600, Y(:,1));
xlabel('时间(h)');
ylabel('温度(℃)');
ylim([18, 26]);
```
在这个程序中,我们首先定义了系统参数和初始状态变量,然后使用 ode45 函数求解微分方程。由于电采暖设备的开关状态是一个离散函数,我们定义了一个 S(t) 函数来离散化开关状态。最后,我们绘制了一日24h的室内温度变化曲线。
需要注意的是,由于题目没有给出电采暖设备的制热功率,我们在这里假设电采暖设备的制热功率等于额定功率。如果有必要,可以根据实际情况进行修改。
阅读全文