已知室内空气等效热容110000、墙体等效热容18600000000,建筑面积为80平方米,8:00-21:00电价为0.56,21:00-8:00电价为0.32,削峰时段16:00-20:00的补偿价格为1.3元,填谷时段0:00-4:00的补偿价格为0.65元室内空气和墙体内侧的等效热阻分别为0.0012、聚合商组织住宅区600户电采暖负荷参与电网削峰填谷,需确定削峰或填谷时段内可持续提供的最大调节功率值。问题4所解出的各时点可上调、下调功率结果是基于单纯满足温控区间约束条件的电采暖设备开关状态决定的,电采暖负荷参与功率调节将改变其原有的开关状态,进而影响后续可调节功率的时变特性,计算600户电采暖负荷在削峰时段可提供的持续最大向上调节功率值,假设上述计算所得持续最大向上、向下调节功率全部被调度中心调用,统计各时点由于参与电网调节导致开、关状态发生变化的电采暖设备数量,绘制所有住户的室内温度曲线,检验参与调节后温度变化是否满足温控区间约束的matlab程序
时间: 2024-02-13 09:06:33 浏览: 12
以下是一个修改后的 Matlab 程序,用于计算电采暖负荷在削峰时段可提供的持续最大向上调节功率值,并绘制所有住户的室内温度曲线:
```
% 常量和参数
C_air = 110000; % 室内空气等效热容
C_wall = 18600000000; % 墙体等效热容
A = 80; % 建筑面积
R_air = 0.0012; % 室内空气等效热阻
P_max = 600 * 3; % 可调节功率最大值,假设每户电采暖负荷为 3kW
T_min = 18; % 温控区间下限
T_max = 22; % 温控区间上限
T_set = 20; % 设定温度
t = 24; % 时间长度,小时为单位
dt = 0.1; % 时间步长,小时为单位
price1 = 0.56; % 8:00-21:00 电价
price2 = 0.32; % 21:00-8:00 电价
price_comp1 = 1.3; % 削峰时段补偿价格
price_comp2 = 0.65; % 填谷时段补偿价格
start1 = 8; % 电价时段1的开始时间
end1 = 21; % 电价时段1的结束时间
start2 = 0; % 电价时段2的开始时间
end2 = 8; % 电价时段2的结束时间
start_comp1 = 16; % 削峰时段的开始时间
end_comp1 = 20; % 削峰时段的结束时间
start_comp2 = 0; % 填谷时段的开始时间
end_comp2 = 4; % 填谷时段的结束时间
% 计算削峰时段可提供的持续最大向上调节功率值
P_adjusted = zeros(t * 60 / dt, 1);
for i = 1:length(P_adjusted)
hour = floor((i-1) * dt);
if hour >= start_comp1 && hour < end_comp1
P_max_comp = P_max + P_max * (price_comp1 - price1) / price1;
elseif hour >= start_comp2 || hour < end_comp2
P_max_comp = P_max + P_max * (price_comp2 - price2) / price2;
else
P_max_comp = P_max;
end
P_adjusted(i) = P_max_comp;
end
P_total = sum(P_adjusted) / length(P_adjusted);
fprintf('削峰时段可提供的持续最大向上调节功率值:%.2f kW\n', P_total / 1000);
% 计算温度曲线和设备开关状态
N = t * 60 / dt + 1;
P = zeros(N, 1);
T = zeros(N, 1);
switched_on = logical(zeros(N, 1));
switched_on_count = zeros(N, 1);
for i = 2:N
% 计算室内温度
T(i) = (C_air * (T_set - T(i-1)) + P(i-1) * dt / A) / (C_air + C_wall);
% 计算功率调节量和开关状态
[P_up, P_down, switched_on(i)] = power_adjustment(P(i-1), P_adjusted(i-1), T(i), T_set, T_min, T_max);
% 更新可调节功率
P(i) = P(i-1) + P_up - P_down;
% 统计开关状态变化的数量
if switched_on(i) ~= switched_on(i-1)
switched_on_count(i:end) = switched_on_count(i-1) + 1;
end
end
% 统计设备开关状态变化的数量
switched_on_count = switched_on_count / 600; % 每户设备数量为600
fprintf('参与电网调节导致开、关状态发生变化的电采暖设备数量:%.2f\n', max(switched_on_count));
% 绘制温度曲线图
plot(0:dt:t, T);
xlabel('Time (h)');
ylabel('Temperature (°C)');
title('Indoor temperature');
```
需要注意的是,这个程序中的 `power_adjustment` 函数需要在之前的程序中定义。此外,为了计算削峰时段可提供的持续最大向上调节功率值,需要根据不同时间段的电价和补偿价格对可调节功率最大值进行调整。最后,需要将设备开关状态变化的数量除以每户设备数量才能得到每户设备的变化数量。
阅读全文