修改代码如下,将不同时间(365x24)的负荷考虑在内,计算得到每个时间段的LOLE,得到365x24的表格。
% 发电机组的容量和可靠性数据
gen_capacity = table2array(fuhe(:,1)); % 发电机组容量(MW)
gen_failure_rate = table2array(fuhe(:,2)) * 0.01; % 发电机组故障率
gen_work_rate = table2array(fuhe(:,4)); % 发电机组工作率
average_wind_output = 0; % 假设风电的平均输出为0,如有数据则替换此处
% 初始化LOLE数组,假设我们要计算一整年的LOLE
time_series_length = 24; % 每天24小时
num_days = 365;
lolp_over_time = zeros(num_days, time_series_length);
% 遍历每一天
for j = 1:num_days
% 假设demands是一个table,每一行代表一天的负荷需求
% 这里我们取第j天的负荷需求数据,假设demands的每列代表一个小时的负荷需求
load_demands = table2array(demands(j,:)); % 获取第j天的负荷需求数组
% 计算系统的总可用容量(包括风电)
total_capacity = sum(gen_capacity) + average_wind_output;
% 遍历每个时间点的负荷需求
for t = 1:time_series_length
% 假设load_demands已经是1X24的double数组,直接使用
load_demand = load_demands(t);
num_gens = length(gen_capacity);
% 初始化LOLE值
lolp = 0;
% 遍历所有可能的故障组合
for num_fails = 0:(num_gens-1)
remaining_capacity = total_capacity - sum(gen_capacity(1:num_fails));
if remaining_capacity < load_demand
% 计算在当前故障组合下,剩余机组的工作时间概率乘积
indices_to_keep = setdiff(1:num_gens, (1:num_fails));
remaining_gens_capacity = gen_capacity(indices_to_keep);
remaining_gens_work_rate = gen_work_rate(indices_to_keep);
probability = 1;
for i = 1:length(indices_to_keep)
probability = probability * (1 - gen_failure_rate(indices_to_keep(i)));
end
% 累加所有可能的故障组合对LOLE的贡献
lolp = lolp + probability * (1 - prod(remaining_gens_work_rate));
end
end
% 将LOLE值存储在数组中
lolp_over_time(j,t) = lolp;
end
end
% 显示每天的LOLE结果
for j = 1:num_days
fprintf('Day %d LOLE values:\n', j);
for t = 1:time_series_length
fprintf('Time %d: LOLE with wind power integration: %f\n', t, lolp_over_time(j,t));
end
end
% 如果需要计算整个时间序列的LOLE总和
result = sum(lolp_over_time(:))/8736;
得到365*24的表格,截取部分如下:
发现早上和晚上的电力不足会比较大,基本符合预期。
期待做出这种可视化效果:
现有问题是:我不明确要利用哪部分的风电数据,查到的资料直接利用了所谓“风电平均出力”来加到可提供的容量上(我的理解),但我认为应该不对。
对风电场考虑:
从已知的风速序列获 得风电场的功率这一过程十分复杂,本文作简化处理,不考虑地形、尾流、机组 位置、风速空间分布、各种损耗等多种因素的影响,仅仅关注单台风机的出力与 机组的数量,首先需要对风力发电机的出力建立数学模型。
风力发电机的输出功率和风速的关系曲线称为标准功率特性曲线。
拟合得到:
然后加到代码中供给端。
但是需要关注到的是:部分论文中容量可信度是对于某一小时的值,这和综述论文中的计算准则中对全部的时间尺度来相加有细微差别,我们可以理解成是T设为该时刻的单点集。
所查论文:
如何得到弦截法的下图,是改变虚拟机组容量pv,不是负荷!
现在已知了A点,下面思考如何加虚拟机组和添加风电机组。
所以目前的计划是:
对于某一天的某一时刻来说:负荷已知,可算LOLE,那一时刻的风电提供容量如何算?得到风电提供容量后,我可以得到新的LOLE,我对原先的代码中虚拟机组加到供给的部分,以期得到相同的LOLE,此时得到的虚拟机组容量就是可信容量的分子部分。