jspOllyDebug学习系统qhrs5(程序+源码+数据库+调试部署+开发环境)

本系统(程序+源码+数据库+调试部署+开发环境)论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表

开题报告内容

一、项目背景

随着软件开发的不断发展,调试技能已经成为程序员必备的技能之一。然而,传统的调试方式存在效率低下、难度大等问题,因此开发一款高效、便捷、实用的调试学习系统成为程序员们迫切的需求。OllyDebug学习系统旨在通过引入先进的技术和理念,提高程序员的调试技能和工作效率,为程序员提供更好的学习和工作体验。

二、项目目标

本项目旨在开发一款基于JSP、Java、SpringMVC、MySQL和MyBatis的OllyDebug学习系统。该系统将实现代码调试、性能分析、错误排查等多项功能,并提供在线交流和讨论服务。通过该系统,程序员可以更加便捷地进行代码调试和学习,提高调试效率和工作质量。

三、技术栈与运行环境

本项目将采用以下技术栈和运行环境:

  1. 前端技术:JSP、HTML、CSS、JavaScript。
  2. 后端技术:Java、SpringMVC、MyBatis。
  3. 数据库:MySQL。
  4. 运行环境:Java JDK 1.8,Tomcat 7.x/8.x/9.x,Eclipse IDE。
  5. 硬件环境:Windows 7/8/10(4G内存以上)或Mac OS。

四、项目计划

本项目计划分为以下几个阶段进行:

  1. 需求分析:对系统功能、性能和安全需求进行详细分析,设计用户界面和数据库。
  2. 系统设计:设计值对象、DAO接口、业务服务Service等,完成数据库连接与DAO实现。
  3. 编码实现:按照设计文档进行编码实现,包括前端页面、后端逻辑和数据库操作。
  4. 测试与优化:对系统进行测试,发现并修复问题,进行性能优化。
  5. 部署与上线:将系统部署到服务器上,进行上线运行。

本项目旨在通过开发OllyDebug学习系统,提高程序员的调试技能和工作效率,为软件行业的发展做出贡献。

进度安排:

2023年12月20日—2024年01月20日:查阅和收集课题相关资料,进行市场调研,确定选题;

2024年01月21日—2024年02月15日:进一步查阅资料,撰写开题报告,准备开题、答辩;

2024年02月16日—2024年03月10日:系统规划、整体规划、详细设计、编写代码;

2024年03月11日—2024年04月18日:系统测试;

2024年04月19日—2024年04月28日:撰写毕业论文;

2024年04月29日—2024年05月09日:修改论文并提交论文正稿;

2024年05月10日—2024年05月22日:由指导老师评阅,修改完善论文,准备毕业答辩。

参考文献:

[1]李盛恩,王珊.数据库基础与应用(第二版)[M].北京:人民邮电出版社,2018:14-78.

[2]孙卫琴:《精通Hibernate:Java对象持久化技术详解[M].电子工业出版社出版

[3]王珊,萨师煊.数据库系统概论[M].高等教育出版社,2016.5:198-235.

[4]张孝祥.深入Java Web开发内幕——核心基础[M].北京:电子工业出版社.北京.2016.10.

[5] 舒红平.Web 数据库编程-java[M],西安电子科技大学出版社,2016:97-134.

[6]石正喜. SQL数据库实用教程. 北京:北京师范大学出版社 2016

[7]孙卫琴. 基于MVC的JavaWeb设计与开发. 北京: 电子工业出版社 2014.

[8]王雨竹. SQL入门经典. 北京:机械工业出版社 2019

[9]黄艳峰. 在Java语言中实施“案例教学”的研究与探索[J]. 电脑知识与技术, 2017, 6(5):1148-1149

[10] 王玉英. 基于JSP的SQL数据库访问技术[J]. 现代计算机:专业版, 2016, 19(14):63-66

[11] 赵钢. JSP Servlet+EJB的Web模式应用研究[J]. 电子设计工程, 2019, 21(13):47-49

[12] 肖英. 解决JSP/Servlet开发中的中文乱码问题[J]. 科技传播, 2019, (1)11-25

[13] 雷文华, 薛小文. MATLAB和Servlet在网络数据处理中的应用[J]. 电子测试, 2018, (11):81-86.

[14]陈Maydene Fisher, Jon Ellis, Jonathan Bruce著. JDBC API Tutorial and Reference, Third Edition. 11 June, 2017

[15] Hsiao I H, Sosnovsky S, Brusilovsky P. Guiding students to the right questions: adaptive navigation support in an e-learning system for Java programming[J]. Journal of Computer Assisted Learning, 2015, 26(4):270-283.

[16] Vegh A. SQL Database Server[M]. Web Development with the Mac®. Wiley Publishing, Inc., 2016,179-194

以上是开题是根据本选题撰写,是项目程序开发之前开题报告内容,后期程序可能存在大改动。最终成品以下面运行环境+技术栈+界面为准,可以酌情参考使用开题的内容。要源码请在文末进行获取!!

系统技术栈:

前端技术栈

HTML (HyperText Markup Language):用于创建网页的标准标记语言。定义网页的结构和内容,如段落、链接、图片等。

CSS (Cascading Style Sheets):用于描述HTML文档的样式和布局。可以控制字体、颜色、间距、布局等视觉表现。

JavaScript:一种轻量级,解释型或即时编译型的编程语言。通常用于网页上实现交互效果,如表单验证、动态内容更新等。与Vue.js结合,可以创建复杂的用户界面。

后端技术栈

MyBatis :MyBatis通过SQL映射文件或注解来配置SQL查询语句,提供了方便的API来执行SQL语句、处理结果集和事务管理。它支持动态SQL、延迟加载、一级缓存和二级缓存等功能,使得开发人员可以更加灵活地操作数据库,提高开发效率。

Apache Tomcat将JSP、Servlet和其他Java类打包成WAR文件,并部署到Tomcat等服务器上。

MySQL:是一个关系型数据库管理系统(RDBMS),广泛用于存储、检索和管理数据。支持SQL(结构化查询语言),用于执行数据库操作,如查询、更新、插入和删除数据。

开发工具

JSP(JavaServer Pages)开发工具种类繁多,它们为开发者提供了便捷的方式来创建、编辑、调试和部署JSP应用程序。以下是一些常用的JSP开发工具:

1. Eclipse

  • 概述:Eclipse是一个流行的开源Java集成开发环境(IDE),通过安装Eclipse Web Tools Platform(WTP)插件,可以非常方便地支持JSP开发。
  • 功能:提供代码编辑、自动补全、调试、项目管理等功能。Eclipse的插件生态系统丰富,可以根据需要安装额外的插件来扩展功能。
  • 优势:免费、开源、社区支持强大、功能全面。

2. IntelliJ IDEA

  • 概述:IntelliJ IDEA是另一个广泛使用的Java IDE,也支持JSP开发。
  • 功能:具备智能代码提示、自动补全、语法检查、版本控制集成等特性。它还提供了丰富的重构工具,帮助开发者优化代码结构。
  • 优势:用户界面友好、性能卓越、支持多种语言和框架。

开发流程:

JSP(JavaServer Pages)是一种用于创建动态Web内容的技术,它允许将Java代码和特定预定义动作嵌入到静态内容中。JSP页面最终会被编译成Servlet,并由JSP引擎执行以生成动态Web页面。以下是JSP开发的基本流程:

1. 环境搭建

  • 安装JDK:Java开发工具包是Java程序开发的基础,确保安装了合适版本的JDK。
  • 安装服务器:如Apache Tomcat,它是JSP和Servlet的常用容器。
  • 安装集成开发环境(IDE):如Eclipse, IntelliJ IDEA等,这些IDE提供了强大的工具来编写、调试和部署JSP应用。
  • 配置环境变量:设置JAVA_HOME和CATALINA_HOME(Tomcat的根目录)等环境变量,以便系统可以找到JDK和Tomcat。

2. 创建Web项目

  • 在IDE中创建一个新的Web项目,通常这包括指定项目的名称、位置以及使用的服务器(如Tomcat)。
  • IDE会自动生成一些基础目录结构,如src(存放Java代码)、WebContentwebapp(存放JSP、HTML、CSS、JavaScript等资源)。

3. 编写JSP页面

  • WebContentwebapp目录下的合适位置创建JSP文件(以.jsp为扩展名)。
  • 在JSP文件中,可以使用HTML标签来定义页面的结构,并使用JSP标签(如<% %><%= %><%! %><%@ %>)来嵌入Java代码或指令。
  • 可以使用JSP标准标签库(JSTL)和表达式语言(EL)来简化页面中的Java代码,使页面更加清晰和易于维护。

使用者指南

JSP是一种用于开发动态Web应用程序的技术,它允许在HTML页面中嵌入Java代码,从而实现在服务器端动态生成内容。JSP页面在客户端浏览器请求时,由服务器端的JSP引擎解析和处理,最终生成HTML内容并返回给浏览器进行显示。JSP的引入主要是为了简化Web应用程序的开发过程,并实现动态内容的展示。

程序界面

请你修改以下代码,并给出修改后的完整代码:clc clear tic %tic用来保存当前时间,而后使用toc来记录程序完成时间 %% 参数设置 %---燃气轮机2台、余热回收锅炉1台、吸收式制冷机1台---% PGmax=[1200,2800]; %燃气发电机最大电功率 PGmin=[300,300]; %燃气发电机最小电功率 PGnom=[1200,2800]; %燃气发电机额定电功率 %这里的Aa,Bb,Cc,Dd分别对应四台不同的燃气发电机的发电效率 Aa=8.935; Bb=33.157; Cc=-27.081; Dd=17.989; QHrsnom=1000; %余热回收系统的额定功率 QAcnom=400; %吸收式制冷机的额定功率 yHrs=0.60; %热回收效率 Copac=0.80; %吸收制冷能效比 %---燃气锅炉1台、电制冷机1台---% Qbolnom=1000; %燃气锅炉额定功率 QEcnom=300; %电制冷机的额定功率 Copec=3; %电制冷能效比 %----上网购电参数-------% Pgridmax=600; Pgridmin=400; % ----------------蓄电池组参数-------------------% SBatmax=180; %蓄电池保持稳定运行时的最大容量 SBatmin=40; %蓄电池保持稳定运行时的最小容量 SBatnom=200; %蓄电池在协调周期内的额定容量 RBatcha=0.20;%蓄电池组l在t时段的最大充电率 RBatdis=0.40;%蓄电池组l在t时段的最大放电率 dBat=0.04; %蓄电池组的自放电率 yBatcha=0.95; yBatdis=0.95; %充放电效率 % 风力发电机的功率 Pwind=[693,718,883,698,888,683,723,695,678,721,568,583,614,693,678,703,692,693,808,994,869,813,873,808]; % 光伏发电机的功率 Ppv=[0,0,0,0,0,0,1650,2450,3250,3350,3400,3750,3450,3250,3200,2400,2100,1300,0,0,0,0,0,0]; % 负荷功率 PD=[2800,2700,3000,3800,4600,4600,5200,5400,5800,6300,7400,8700,9700,10000,10100,10300,9000,7000,6700,5900,4500,3000,2700,2800]; %为一天中不同时段的系统需要的预测电功率 QDtherm=[1300,1400,1360,1700,1600,2000,3100,3450,3900,4400,4300,4500,5400,5000,5100,4950,4600,4710,4400,4000,3650,3570,2900,2420]; %系统在一天中需要的热负荷 QDcool=[2350,2800,2850,3400,3800,4000,4700,4350,5100,7500,7600,8450,8700,8050,7700,7450,7200,6650,7300,5700,5100,4450,3600,3080]; %系统在一天中需要的冷负荷 %% 粒子群算法参数设置 w=0.7; %惯性权重 c1=2; %个体 c2=2; %群体 N=100; %粒子个数 SBat=zeros(N,25); %蓄电池 QAc=zeros(N,24); %吸收式制冷机 QEc=zeros(N,24); %电制冷机 QHrs=zeros(N,24); %余热回收锅炉 yg=zeros(N,48); %燃气轮机 k=1; D=8; Tmax=1000; %最大迭代次数 %% 主循环开始 for i=1:N SBat(i,19)=63.5209380080000; %初始储能量,单位为kW.h, end for i=1:N %分时段初始化满足约束的初始值 for t=1:24 %燃气轮机出力初始化 for j=1:2 X(i,(t-1)*D+j)=unifrnd(PGmin(j),PGmax(j)); V(i,(t-1)*D+j)=unifrnd(PGmin(j)-PGmax(j),PGmax(j)-PGmin(j)); end %余热回收锅炉提供热出力的初始化 for j=1:2 yg(i,(t-1)*2+j)=(Aa+Bb*(X(i,(t-1)*D+j)/PGnom(j))+Cc*(X(i,(t-1)*D+j)/PGnom(j))^2+Dd*(X(i,(t-1)*D+j)/PGnom(j))^3)/100; end QHrs(i,t)=(X(i,(t-1)*D+1)*(1-yg(i,(t-1)*2+1))+X(i,(t-1)*D+2)*(1-yg(i,(t-1)*2+2)))*yHrs; %热回收系统在单时段提供的总热功率 if QHrs(i,t)>1000 QHrs(i,t)=1000; end if QHrs(i,t)-QDtherm(t)>=0 X(i,(t-1)*D+3)=0; V(i,(t-1)*D+3)=0; else X(i,(t-1)*D+3)=unifrnd(abs(min(0,QHrs(i,t)-QDtherm(t))),QDtherm(t)); V(i,(t-1)*D+3)=unifrnd(abs(min(0,QHrs(i,t)-QDtherm(t)))-QDtherm(t),QDtherm(t)-abs(min(0,QHrs(i,t)-QDtherm(t)))); end %燃气锅炉提供的热功率用于冷负荷部分量的初始化 X(i,(t-1)*D+4)=unifrnd(0,min((Qbolnom-X(i,(t-1)*D+3)),QDcool(t)/Copac)); V(i,(t-1)*D+4)=unifrnd(-min((Qbolnom-X(i,(t-1)*D+3)),QDcool(t)/Copac),min((Qbolnom-X(i,(t-1)*D+3)),QDcool(t)/Copac)); %热回收系统用于提供冷功率初始化 for j=1:2 yg(i,(t-1)*2+j)=(Aa+Bb*(X(i,(t-1)*D+j)/PGnom(j))+Cc*(X(i,(t-1)*D+j)/PGnom(j))^2+Dd*(X(i,(t-1)*D+j)/PGnom(j))^3)/100; end QHrs(i,t)=(X(i,(t-1)*D+1)*(1-yg(i,(t-1)*2+1))+X(i,(t-1)*D+2)*(1-yg(i,(t-1)*2+2)))*yHrs; %热回收系统在单时段提供的总热功率 if QHrs(i,t)>QHrsnom QHrs(i,t)=QHrsnom; end X(i,(t-1)*D+7)=min(max(0,QHrs(i,t)-QDtherm(t)),QDcool(t)/Copac); V(i,(t-1)*D+7)=0; %电制冷机制冷所消耗的电功率初始化 QAc(i,t)=X(i,(t-1)*D+7)*Copac; %吸收制冷机在单时段提供的冷功率 X(i,(t-1)*D+8)=max(0,min((QDcool(t)-QAc(i,t))/Copec,2*QEcnom/Copec)); V(i,(t-1)*D+8)=0; X(i,(t-1)*D+4)=abs(min(0,(QAc(i,t)+ X(i,(t-1)*D+8)*Copec-QDcool(t)))); V(i,(t-1)*D+4)=0; %微网在单个时段内与电网交互的电量初始化 X(i,(t-1)*D+5)=unifrnd(-Pgridmin,Pgridmax); V(i,(t-1)*D+5)=unifrnd(-Pgridmin-Pgridmax,Pgridmax+Pgridmin); %蓄电池组的充放电功率初始化 X(i,(t-1)*D+6)=unifrnd(max(-SBatnom*RBatdis,SBatmin-SBat(i,t)),min(SBatnom*RBatcha,SBatmax-SBat(i,t))); V(i,(t-1)*D+6)=unifrnd(max(-SBatnom*RBatdis,SBatmin-SBat(i,t))-min(SBatnom*RBatcha,SBatmax-SBat(i,t)),min(SBatnom*RBatcha,SBatmax-SBat(i,t))-max(-SBatnom*RBatdis,SBatmin-SBat(i,t))); %--------------------% if X(i,(t-1)*D+6)>=0 SBat(i,t+1)= SBat(i,t)*(1-dBat)+X(i,(t-1)*D+6)*yBatcha; %蓄电池组在单时段时的剩余容量 else SBat(i,t+1)= SBat(i,t)*(1-dBat)+X(i,(t-1)*D+6)/yBatdis; %蓄电池组在单时段时的剩余容量 end if SBat(i,t+1)>SBatmax SBat(i,t+1)=SBatmax; end if SBat(i,t+1)<SBatmin SBat(i,t+1)=SBatmin; end end end WEI=24*8; for i=1:N p(i)=fitness(X(i,:),WEI); y(i,:)=X(i,:); end pg = X(N,:); %Pg为全局最优 for i=1:(N-1) if fitness(X(i,:),WEI)<fitness(pg,WEI) pg=X(i,:); end end for K=1:Tmax if ~mod(K,10) %K与10作除法后的余数 fprintf('当前迭代次数:%d\n',K); end for i=1:N V(i,1:WEI)=w*V(i,1:WEI)+c1*rand*(y(i,1:WEI)-X(i,1:WEI))+c2*rand*(pg-X(i,1:WEI)); %粒子速度更新 for t=1:24 %燃气轮机出力速度越限处理 for j=1:2 if V(i,(t-1)*D+j)>0.5*(PGmax(j)-PGmin(j)) V(i,(t-1)*D+j)=0.5*(PGmax(j)-PGmin(j)); end if V(i,(t-1)*D+j)<0.5*(PGmin(j)-PGmax(j)) V(i,(t-1)*D+j)=0.5*(PGmin(j)-PGmax(j)); end end %燃气锅炉提供的热功率用于热负荷部分量的速度越限处理 for j=1:2 yg(i,(t-1)*2+j)=(Aa+Bb*(X(i,(t-1)*D+j)/PGnom(j))+Cc*(X(i,(t-1)*D+j)/PGnom(j))^2+Dd*(X(i,(t-1)*D+j)/PGnom(j))^3)/100; end QHrs(i,t)=(X(i,(t-1)*D+1)*(1-yg(i,(t-1)*2+1))+X(i,(t-1)*D+2)*(1-yg(i,(t-1)*2+2)))*yHrs; %热回收系统在单时段提供的总热功率 if QHrs(i,t)>QHrsnom QHrs(i,t)=QHrsnom; end if QHrs(i,t)-QDtherm(t)>=0 if V(i,(t-1)*D+3)>0 V(i,(t-1)*D+3)=0; end if V(i,(t-1)*D+3)<0 V(i,(t-1)*D+3)=0; end else if V(i,(t-1)*D+3)>0.5*(QDtherm(t)-abs(min(0,QHrs(i,t)-QDtherm(t)))) V(i,(t-1)*D+3)=0.5*(QDtherm(t)-abs(min(0,QHrs(i,t)-QDtherm(t)))); end if V(i,(t-1)*D+3)<0.5*(abs(min(0,QHrs(i,t)-QDtherm(t)))-QDtherm(t)) V(i,(t-1)*D+3)=0.5*(abs(min(0,QHrs(i,t)-QDtherm(t)))-QDtherm(t)); end end %锅炉提供的热功率用于冷负荷部分量的速度越限处理 if V(i,(t-1)*D+4)>0 V(i,(t-1)*D+4)=0; end if V(i,(t-1)*D+4)<0 V(i,(t-1)*D+4)=0; end %微网在单个时段与电网交互的电量的速度越限处理 if V(i,(t-1)*D+5)>0.5*(Pgridmax+Pgridmin) V(i,(t-1)*D+5)=0.5*(Pgridmax+Pgridmin); end if V(i,(t-1)*D+5)<0.5*(-Pgridmin-Pgridmax) V(i,(t-1)*D+5)=0.5*(-Pgridmin-Pgridmax); end %蓄电池组的充放电功率的速度越限处理 if V(i,(t-1)*D+6)>0.5*(min(SBatnom*RBatcha,SBatmax-SBat(i,t))-max(-SBatnom*RBatdis,SBatmin-SBat(i,t))) V(i,(t-1)*D+6)=0.5*(min(SBatnom*RBatcha,SBatmax-SBat(i,t))-max(-SBatnom*RBatdis,SBatmin-SBat(i,t))); end if V(i,(t-1)*D+6)<0.5*(max(-SBatnom*RBatdis,SBatmin-SBat(i,t))-min(SBatnom*RBatcha,SBatmax-SBat(i,t))) V(i,(t-1)*D+6)=0.5*(max(-SBatnom*RBatdis,SBatmin-SBat(i,t))-min(SBatnom*RBatcha,SBatmax-SBat(i,t))); end %热回收系统用于提供冷功率的热功率的速度越限处理 if V(i,(t-1)*D+7)>0 V(i,(t-1)*D+7)=0; end if V(i,(t-1)*D+7)<0 V(i,(t-1)*D+7)=0; end %电制冷机制冷所消耗的电功率的速度越限处理 QAc(i,t)=X(i,(t-1)*D+7)*Copac; %吸收制冷机在单时段提供的冷功率 if V(i,(t-1)*D+8)>0 V(i,(t-1)*D+8)=0; end if V(i,(t-1)*D+8)<0 V(i,(t-1)*D+8)=0; end end X(i,1:WEI)=X(i,1:WEI)+V(i,1:WEI); %粒子位置更新 for t=1:24 %燃气发电机出力位置越限处理 for j=1:2 if X(i,(t-1)*D+j)>PGmax(j) X(i,(t-1)*D+j)=PGmax(j); V(i,(t-1)*D+j)=-rand*V(i,(t-1)*D+j); end if X(i,(t-1)*D+j)<=PGmin(j) X(i,(t-1)*D+j)=0; V(i,(t-1)*D+j)=0; end end %锅炉提供的热功率用于热负荷部分量的位置越限处理 for j=1:2 yg(i,(t-1)*2+j)=(Aa+Bb*(X(i,(t-1)*D+j)/PGnom(j))+Cc*(X(i,(t-1)*D+j)/PGnom(j))^2+Dd*(X(i,(t-1)*D+j)/PGnom(j))^3)/100; end QHrs(i,t)=(X(i,(t-1)*D+1)*(1-yg(i,(t-1)*2+1))+X(i,(t-1)*D+2)*(1-yg(i,(t-1)*2+2)))*yHrs; %热回收系统在单时段提供的总热功率 if QHrs(i,t)>QHrsnom QHrs(i,t)=QHrsnom; end if QHrs(i,t)-QDtherm(t)>=0 if X(i,(t-1)*D+3)>0 X(i,(t-1)*D+3)=0; V(i,(t-1)*D+3)=-rand*V(i,(t-1)*D+3); end if X(i,(t-1)*D+3)<0 X(i,(t-1)*D+3)=0; V(i,(t-1)*D+3)=-rand*V(i,(t-1)*D+3); end else if X(i,(t-1)*D+3)>QDtherm(t) X(i,(t-1)*D+3)=QDtherm(t); V(i,(t-1)*D+3)=-rand*V(i,(t-1)*D+3); end if X(i,(t-1)*D+3)<abs(min(0,QHrs(i,t)-QDtherm(t))) X(i,(t-1)*D+3)=abs(min(0,QHrs(i,t)-QDtherm(t))); V(i,(t-1)*D+3)=-rand*V(i,(t-1)*D+3); end end %锅炉提供的热功率用于冷负荷部分量的位置越限处理 if X(i,(t-1)*D+4)>min((Qbolnom-X(i,(t-1)*D+3)),QDcool(t)/Copac) X(i,(t-1)*D+4)=min((Qbolnom-X(i,(t-1)*D+3)),QDcool(t)/Copac); V(i,(t-1)*D+4)=-rand*V(i,(t-1)*D+4); end if X(i,(t-1)*D+4)<0 X(i,(t-1)*D+4)=0; V(i,(t-1)*D+4)=-rand*V(i,(t-1)*D+4); end %微网在单个时段内与电网交互的电量的位置越限处理 if X(i,(t-1)*D+5)>Pgridmax X(i,(t-1)*D+5)=Pgridmax; V(i,(t-1)*D+5)=-rand*V(i,(t-1)*D+5); end if X(i,(t-1)*D+5)<(-Pgridmin) X(i,(t-1)*D+5)=(-Pgridmin); V(i,(t-1)*D+5)=-rand*V(i,(t-1)*D+5); end %蓄电池组的充电功率的位置越限处理 if X(i,(t-1)*D+6)>min(SBatnom*RBatcha,SBatmax-SBat(i,t)) X(i,(t-1)*D+6)=min(SBatnom*RBatcha,SBatmax-SBat(i,t)); V(i,(t-1)*D+6)=-rand*V(i,(t-1)*D+6); end if X(i,(t-1)*D+6)<max(-SBatnom*RBatdis,SBatmin-SBat(i,t)) X(i,(t-1)*D+6)=max(-SBatnom*RBatdis,SBatmin-SBat(i,t)); V(i,(t-1)*D+6)=-rand*V(i,(t-1)*D+6); end %热回收系统用于提供冷功率的热功率的位置越限处理 for j=1:2 yg(i,(t-1)*2+j)=(Aa+Bb*(X(i,(t-1)*D+j)/PGnom(j))+Cc*(X(i,(t-1)*D+j)/PGnom(j))^2+Dd*(X(i,(t-1)*D+j)/PGnom(j))^3)/100; end QHrs(i,t)=(X(i,(t-1)*D+1)*(1-yg(i,(t-1)*2+1))+X(i,(t-1)*D+2)*(1-yg(i,(t-1)*2+2)))*yHrs; %热回收系统在单时段提供的总热功率 if QHrs(i,t)>QHrsnom QHrs(i,t)=QHrsnom; end if X(i,(t-1)*D+7)>min(max(0,QHrs(i,t)-QDtherm(t)),QDcool(t)/Copac) X(i,(t-1)*D+7)=min(max(0,QHrs(i,t)-QDtherm(t)),QDcool(t)/Copac); end if X(i,(t-1)*D+7)<min(max(0,QHrs(i,t)-QDtherm(t)),QDcool(t)/Copac) X(i,(t-1)*D+7)=min(max(0,QHrs(i,t)-QDtherm(t)),QDcool(t)/Copac); end %电制冷机制冷所消耗的电功率的位置越限处理 QAc(i,t)=X(i,(t-1)*D+7)*Copac; %吸收制冷机在单时段提供的冷功率 if X(i,(t-1)*D+8)>max(0,min((QDcool(t)-QAc(i,t))/Copec,2*QEcnom/Copec)) X(i,(t-1)*D+8)=max(0,min((QDcool(t)-QAc(i,t))/Copec,2*QEcnom/Copec)); V(i,(t-1)*D+8)=-rand*V(i,(t-1)*D+8); end if X(i,(t-1)*D+8)<max(0,min((QDcool(t)-QAc(i,t))/Copec,2*QEcnom/Copec)) X(i,(t-1)*D+8)=max(0,min((QDcool(t)-QAc(i,t))/Copec,2*QEcnom/Copec)); V(i,(t-1)*D+8)=-rand*V(i,(t-1)*D+8); end if X(i,(t-1)*D+4)>abs(min(0,(QAc(i,t)+ X(i,(t-1)*D+8)*Copec-QDcool(t)))) X(i,(t-1)*D+4)=abs(min(0,(QAc(i,t)+ X(i,(t-1)*D+8)*Copec-QDcool(t)))); end if X(i,(t-1)*D+4)<abs(min(0,(QAc(i,t)+ X(i,(t-1)*D+8)*Copec-QDcool(t)))) X(i,(t-1)*D+4)=abs(min(0,(QAc(i,t)+ X(i,(t-1)*D+8)*Copec-QDcool(t)))); end if X(i,(t-1)*D+6)>=0 SBat(i,t+1)= SBat(i,t)*(1-dBat)+X(i,(t-1)*D+6)*yBatcha; %蓄电池组在单时段时的剩余容量 else SBat(i,t+1)= SBat(i,t)*(1-dBat)+X(i,(t-1)*D+6)/yBatdis; %蓄电池组在单时段时的剩余容量 end if SBat(i,t+1)>SBatmax SBat(i,t+1)=SBatmax; end if SBat(i,t+1)<SBatmin SBat(i,t+1)=SBatmin; end end if fitness(X(i,:),WEI)<p(i) p(i)=fitness(X(i,:),WEI); y(i,:)=X(i,:); end if p(i)<fitness(pg,WEI) pg=y(i,:); end end Gbest(K)=fitness(pg,WEI); end P_mt = pg(1,1:24); %燃气轮机 P_mt1 = pg(1,(24+1):24*2); P_mt2 = pg(1,(24*2+1):24*3);%燃气锅炉 P_mt3 = pg(1,(24*3+1):24*4); P_mt4 = pg(1,(24*4+1):24*5); P_buy = pg(1,(24*5+1):24*6); %上网交互 P_discharge = pg(1,(24*6+1):24*7); %电储能 C_ec = pg(1,(24*7+1):24*8); %电制冷机
10-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值