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; %单库总发电量,

m0_64795180
- 粉丝: 23
最新资源
- MATLAB仿真研究:基于相位差变化率的二维定位技术及其与GDOP的对比分析 实用版
- 后台管理基于图床链接的静态资源管理方案:简化操作与多端同步优化
- Matlab中基于贝叶斯优化的CNN-GRU回归预测模型及其应用
- 基于Matlab GUI的菜叶病虫害检测系统:数字图像处理与特征分析
- 工业伺服系统中电流环、速度环、位置环三环分析与参数计算的技术解析 2025版
- Matlab编程求解直齿轮时变啮合刚度及齿间摩擦力的综合模型及应用
- FMCW激光雷达:双模调制与正弦波三角波技术下的目标高效检测系统 资料
- 深度强化学习驱动的混合动力汽车能量管理策略:基于DQN算法的电池与发动机发电机组功率分配优化 详解
- HTML5视频终极指南:从入门到精通
- 基于STM32与BH1750光照传感器的IIC总线通讯及OLED显示项目解析
- 基于LQR算法的路径跟踪控制:自动驾驶、Carsim、Simulink联合仿真(carsim2019,matlab2018版本)
- MATLAB Simulink仿真平台下的蓄电池双向DC-DC控制策略:电压外环与电流内环的稳定控制研究 Simulink 权威版
- 七自由度整车模型:基于魔术公式与Dugoff轮胎模型的汽车动力学仿真及ABS、ESP系统验证
- 基于分布式驱动电动汽车的容积卡尔曼观测器车辆状态估计模型及其联合仿真
- 电梯控制仿真程序综合运用 - VBScript
- 基于蒙特卡洛模拟的电动汽车充电负荷预测:CFA、SEM与潜变量增长模型的应用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



评论9