function result=fxpso(x)
%-----------------------------------
%--------基本数据------------------
%%%%%%%%%%%%%%%%% 每月来水量,丰水年情况
qwan=[ 313 363 587 493 263 309 699 1110 1134 808 486 325 ];
%qwan=[402,352,702,457,227,432,418,1040,795,544,373,405];
%qwan=[598.21,699.12,564.58,667.52,195.60,195.60,195.60,946.89,3235.13,1505.35,951.89,730.58]; %丰水年
%qwan=[167.16,176.81,378.46,317.67,286.8,286.8,1061.56,1312.18,918.52,768.25,500.99,250.13];%平水年
%qwan=[332.3,295.18,664.44,365.42,26.15,45.32,122.58,950.26,622.13,141.65,236.98,334.18];%枯水年
%%%%%%%%%%%%%%% 每月来水,丰水年情况
qwl=[0,0,0,0,0,0,0,0,0,0,0,0]; %上下游水库区间流量w代表万家寨,l代表龙口
%%%%%%%%%%%%每月小时数
t(1)=31*24; t(3)= t(1); t(5)= t(1);
t(5)= t(1); t(7)= t(1); t(8)= t(1);
t(10)= t(1); t(12)= t(1);
t(2)=28*24;
t(4)=30*24; t(6)= t(4);t(9)= t(4);t(11)= t(4);
%-------------------------------------------------
for j=1:12 %%%%%%% 水位推求库容
if 952<=x(j)<955
vw(j)=(4.508+(x(j)-952)/(955-952)*(4.548-4.508))*10^8; %vw(j)上游水位对应的库容
elseif 955<=x(j)<957
vw(j)=(4.548+(x(j)-955)/(957-955)*(4.739-4.548))*10^8;
elseif 957<=x(j)<960
vw(j)=(4.739+(x(j)-957)/(960-957)*(4.936-4.739))*10^8;
elseif 960<=x(j)<965
vw(j)=(4.936+(x(j)-960)/(965-960)*(5.546-4.936))*10^8;
elseif 965<=x(j)<970
vw(j)=(5.546+(x(j)-965)/(970-965)*(7.756-6.563))*10^8;
elseif 975<=x(j)<977.5
vw(j)=(7.756+(x(j)-975)/(977.5-975)*(8.35-7.756))*10^8;
elseif 977.5<=x(j)<980
vw(j)=(8.35+(x(j)-977.5)/(980-977.5)*(8.962-8.35))*10^8;
end
end
for j=1:11 %%%%%%%%%%%%%%% 下泄流量推水位
qxw(j)=qwan(j)-(vw(j+1)-vw(j))/(t(j)*3600); % qxw(j)为出库流量
end
qxw(12)=qwan(12)-(vw(1)-vw(12))/(t(12)*3600); %vw(13)=vw(1)
%%%%%%%%%%%%%%%%%%%%%%%%%% 下泄流量水位关系
for j=1:12
if 0<=qxw(j)<85
hxw(j)=898+(qxw(j)-0)/(85-0)*(899-898); %下游流量对应的水位
elseif 85<=qxw(j)<174
hxw(j)=899+(qxw(j)-85)/(174-85)*(900-899);
elseif 174<=qxw(i)<286
hxw(j)=900+(qxw(j)-174)/(286-174)*(901-900);
elseif 286<=qxw(j)<571
hxw(j)=901+(qxw(j)-286)/(571-2860)*(902-901);
elseif 571<=qxw(j)<878
hxw(j)=902+(qxw(j)-571)/(878-571)*(903-902);
elseif 878<=qxw(j)<1320
hxw(j)=903+(qxw(j)-878)/(1320-878)*(904-903);
elseif 1320<=qxw(j)<1860
hxw(j)=904+(qxw(j)-1320)/(1860-1320)*(905-904);
elseif 1860<=qxw(j)<2480
hxw(j)=905+(qxw(j)-1860)/(2480-1860)*(906-905);
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%% 上下游水位差
for j=1:11
hw(j)=(x(j)+x(j+1))/2-hxw(j); %上游平均水位-下游水位 %%%%%% 此处修改
end
hw(12)=(x(12)+x(1))/2-hxw(12);
%%%%%%%%%%%%%%%%%%%%%%% 发电量,暂取A=8.0
for j=1:12
nw(j)=8.0*qxw(j)*hw(j); %出力系数取为8.0,可以改进,求每个月出力值
ew(j)=8.0*qxw(j)*hw(j)*t(j); %求每个月电量值
end
sw=ew(1);
for j=2:12
sw=sw+ew(j); % 电量累计 求和
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%梯级电站的总体年发电量
result=sw; %单库总发电量,
没有合适的资源?快使用搜索试试~ 我知道了~
基于MATLAB实现的用粒子群算法求解单一水库优化调度,只需要修改相应的约束条件就可以进行优化计算了+使用说明文档.zip
共3个文件
m:2个
md:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 145 浏览量
2024-05-22
18:04:18
上传
评论
收藏 16KB ZIP 举报
温馨提示
CSDN IT狂飙上传的代码均可运行,功能ok的情况下才上传的,直接替换数据即可使用,小白也能轻松上手 【资源说明】 基于MATLAB实现的用粒子群算法求解单一水库优化调度,只需要修改相应的约束条件就可以进行优化计算了+使用说明文档.zip 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2020b;若运行有误,根据提示GPT修改;若不会,私信博主(问题描述要详细); 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可后台私信博主; 4.1 期刊或参考文献复现 4.2 Matlab程序定制 4.3 科研合作 功率谱估计: 故障诊断分析: 雷达通信:雷达LFM、MIMO、成像、定位、干扰、检测、信号分析、脉冲压缩 滤波估计:SOC估计 目标定位:WSN定位、滤波跟踪、目标定位 生物电信号:肌电信号EMG、脑电信号EEG、心电信号ECG 通信系统:DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测识别融合、LEACH协议、信号检测、水声通信 5、欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于MATLAB实现的用粒子群算法求解单一水库优化调度,只需要修改相应的约束条件就可以进行优化计算了+使用说明文档.zip (3个子文件)
pso-reservoir
newpso.m 3KB
fxpso.m 3KB
使用说明文档.md 13KB
共 3 条
- 1
资源评论
IT狂飙
- 粉丝: 4778
- 资源: 2640
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功