一种基于Matlab的光伏发电预测研究系统技术方案

技术编号:14884406 阅读:505 留言:0更新日期:2017-03-24 23:51
一种基于Matlab的光伏发电预测研究系统,属于光伏发电预测领域,包括数据导入和导出单元、BP神经网络训练和预测单元、训练效果综合评估单元。数据导入和导出单元,可以导入气象环境数据和同期相应的光伏发电功率数据,导出光伏发电功率预测值;BP神经网络训练和预测单元,具有灵活的设置BP神经网络参数、训练和预测功能;训练效果综合评估单元,能够实时全面的反映BP神经网络的训练效果,为预测模型的确定提供参考。本发明专利技术是一套完整的预测研究系统,在Matlab的GUI环境中开发实现,有别于Matlab自带工具箱nntool。该研究系统使得BP神经网络预测模型的建立、预测和与Windows系统的交互更加高效和便捷,为光伏发电预测的研究和应用提供了实际参考价值。

【技术实现步骤摘要】

本专利技术属于光伏发电预测
,具体涉及一种基于Matlab和MatlabGUI平台,采用BP神经网络的光伏电站发电功率预测研究系统。
技术介绍
目前,随着传统化石能源的不断耗竭以及人类生存环境的恶化,可持续、清洁能源的开发和利用受到人类越来越多的重视,其中太阳能光伏发电已作为我国和其它许多国家重点研究和建设的新型能源发电方式。国家发展改革委和国家能源局印发的《关于有序放开发用电计划的实施意见》提出“建立优先发电制度。优先安排风能、太阳能、生物质能等可再生能源保障性发电,优先发电容量通过充分安排发电量计划并严格执行予以保障”。这说明国家正在逐步放开常规火电等传统化石能源的发电计划,在发电计划和调度中将优先安排可再生能源发电,并将加强可再生能源电力外送消纳,提高跨省跨区送受电中可再生能源电量比例。发电计划和调度的安排,就将用到光伏发电预测技术。然而,光伏发电受太阳辐射、温度等各种环境因素的影响,输出功率具有较大的随机性和波动性,预测难度较大。目前,人工智能神经网络以其良好的适用性和较高的准确度被越来越广泛地应用在光伏发电预测领域。这种研究多依靠具有强大数据处理和科学计算能力的Matlab软件,但仍大多停留在研究层面。在研究层面上,科研人员需要面对繁琐的代码修改、反复的数据导入导出、不断的与Windows系统交互以及较难的商业应用推广等问题。Matlab软件自带人工智能神经网络工具箱nntool,该工具箱结合Matlab编程可以实现神经网络预测模型的建立、训练和预测,但该工具箱存在以下问题:使用语言为英语、数据的导入和导出处理需要代码编程、训练评估指标太少且多不实用等。
技术实现思路
本专利技术的目的在于,针对上述存在的问题且有别于Matlab软件自带人工智能神经网络工具箱nntool,提供一种利用Matlab软件及其图形用户界面(GraphicalUserInterface,GUI),灵活组合BP神经网络内部算法和结构,以及高效便捷地交互Windows系统,从而实现光伏电站发电功率预测的研究系统。为实现上述目的,本专利技术采用的技术方案是:一种基于Matlab的光伏发电预测研究系统,包括数据导入和导出单元、BP神经网络训练和预测单元、训练效果综合评估单元,其中:数据导入和导出单元,用于导入气象环境数据和同期相应的光伏发电功率数据,导出光伏发电功率预测值;使用Matlab函数uigetfile()来获取需要导入的和需要导出的目标Excel表格的文件路径和文件名,然后分别使用函数xlsread()和函数xlswrite()来分别读取目标表格内的数据和写入数据到目标表格;在BP神经网络训练期间,导入气象环境数据来作为BP神经网络训练的输入向量,导入同期相应的光伏发电功率数据来作为BP神经网络训练的输出向量;在经BP神经网络多次训练和参考训练效果综合评估,确定理想的BP神经网络预测模型后,导入未来时刻的气象环境数据到BP神经网络预测模型,则可预测输出光伏发电功率预测值,之后导出光伏发电功率预测值到目标表格。BP神经网络训练和预测单元,用于进行BP神经网络光伏发电功率预测模型的建立、训练和预测;训练和预测前,使用函数newff()建立BP神经网络光伏发电功率预测模型,需要设置输入-隐含层函数、隐含-输出层函数、训练算法、归一化区间、隐含层个数、学习速率、最小目标误差和最大训练次数;在Matlab环境中,输入-隐含层函数和隐含-输出层函数均可选tansig、logsig和purelin,均使用MatlabGUI中的listbox实现;训练算法可选LM反向传播算法trainlm、拟牛顿反向传播算法trainbfg、弹性反向传播算法trainrp和梯度下降反向传播算法traingd,使用MatlabGUI中的listbox实现;归一化区间可选[-1,1]和[0,1],使用MatlabGUI中的radiobutton实现;隐含层个数为大于0的整数,使用MatlabGUI中的edit实现;学习速率为0到1之间的小数,使用MatlabGUI中的edit实现;最小目标误差为接近于0但大于0的小数,使用MatlabGUI中的edit实现;最大训练次数为大于0的整数,使用MatlabGUI中的edit实现;建立BP神经网络光伏发电功率预测模型后,使用函数train()进行模型的训练,在训练过程中可以调节影响训练效果的输入-隐含层函数、隐含-输出层函数、训练算法、归一化区间、隐含层个数、学习速率、最小目标误差和最大训练次数,在训练达到预期目标后,训练结束,且作为最终预测模型使用函数sim()来预测未来光伏发电功率。训练效果综合评估单元,用来实时反映BP神经网络的综合训练效果,为预测模型的确定提供参考;综合评估的参数有:最大百分误差、最小百分误差、平均百分误差和耗时,使用MatlabGUI中的edit显示;综合评估的图示有:训练拟合图、样本误差图和样本百分误差图,使用MatlabGUI中的axes显示;百分误差具体采用下式(1):ei=|Xfi-Xri|/Xri·100%(1)其中,i表示第i个样本,Xfi为第i个样本对应的预测值,Xri为第i个样本对应的实际值;最大百分误差、最小百分误差和平均百分误差分别是所有样本所对应的百分误差中的最大值、最小值和平均值;耗时是指从BP神经网络光伏发电功率预测模型建立之后一次训练开始到本次训练结束所用的时间;训练拟合图显示训练期间样本预测值拟合曲线和所对应的实际值拟合曲线之间的对比;样本误差图显示训练期间样本预测值和所对应的实际值之间的差值,具体为预测值减去实际值;样本百分误差图显示训练期间样本预测值和所对应的实际值之间的百分误差。本专利技术采用的以上技术方案与现有技术相比,可达到以下技术效果:(1)基于MatlabGUI开发,中文语言环境,可以方便直接的调用Matlab软件自身函数、灵活的设计用户操作界面和实现快捷地交互Windows系统;(2)深入到BP神经网络的内部,灵活的设置输入-隐含层函数、隐含-输出层函数、训练算法、归一化区间、隐含层个数、学习速率、最小目标误差和最大训练次数,使得预测模型实现预测功能的主要参数和影响预测模型预测效果的主要因素清晰明朗;(3)实现了集训练数据导入、模型训练、性能评估、模型预测以及预测结果导出等功能于一体,既能满足科学研究的需要,也具有商业应用的价值。附图说明图1是本专利技术的一种基于Matlab的光伏发电预测研究系统总体框架示意图;图2是本专利技术的一种基于Matlab的光伏发电预测研究系统功能结构图;图3是本专利技术的一种基于Matlab的光伏发电预测研究系统流程图;图4是本专利技术中的预测模型所使用的训练数据输入曲线图;图5是本专利技术中的预测模型所使用的训练数据输出曲线图;图6是本专利技术中的预测模型训练拟合图;图7是本专利技术中的预测模型样本误差图;图8是本专利技术中的预测模型样本百分误差图;图9是本专利技术中的预测模型所使用的预测数据输入曲线图;图10是本专利技术中的预测模型预测拟合图;图11是本专利技术中的预测模型预测样本误差图;图12是本专利技术中的预测模型预测样本百分误差图。具体实施方式下面结合附图和实施例对本专利技术作详细说明,需要说明的是,该具体实施例只用来解释本专利技术,而非对本专利技术范本文档来自技高网
...
一种基于Matlab的光伏发电预测研究系统

【技术保护点】
一种基于Matlab的光伏发电预测研究系统,其特征在于包括:数据导入和导出单元、BP神经网络训练和预测单元、训练效果综合评估单元,其中:所述数据导入和导出单元,用于导入气象环境数据和同期相应的光伏发电功率数据,导出光伏发电功率预测值;使用Matlab函数uigetfile()来获取需要导入的和需要导出的目标Excel表格的文件路径和文件名,然后分别使用函数xlsread()和函数xlswrite()来分别读取目标表格内的数据和写入数据到目标表格;在BP神经网络训练期间,导入气象环境数据来作为BP神经网络训练的输入向量,导入同期相应的光伏发电功率数据来作为BP神经网络训练的输出向量;在经BP神经网络多次训练和参考训练效果综合评估,确定理想的BP神经网络预测模型后,导入未来时刻的气象环境数据到BP神经网络预测模型,则可预测输出光伏发电功率预测值,之后导出光伏发电功率预测值到目标表格;所述BP神经网络训练和预测单元,用于进行BP神经网络光伏发电功率预测模型的建立、训练和预测;训练和预测前,使用函数newff()建立BP神经网络光伏发电功率预测模型,需要设置输入‑隐含层函数、隐含‑输出层函数、训练算法、归一化区间、隐含层个数、学习速率、最小目标误差和最大训练次数;在Matlab环境中,输入‑隐含层函数和隐含‑输出层函数均可选tansig、logsig和purelin,均使用Matlab GUI中的listbox实现;训练算法可选LM反向传播算法trainlm、拟牛顿反向传播算法trainbfg、弹性反向传播算法trainrp和梯度下降反向传播算法traingd,使用Matlab GUI中的listbox实现;归一化区间可选[‑1,1]和[0,1],使用Matlab GUI中的radiobutton实现;隐含层个数为大于0的整数,使用Matlab GUI中的edit实现;学习速率为0到1之间的小数,使用Matlab GUI中的edit实现;最小目标误差为接近于0但大于0的小数,使用Matlab GUI中的edit实现;最大训练次数为大于0的整数,使用Matlab GUI中的edit实现;建立BP神经网络光伏发电功率预测模型后,使用函数train()进行模型的训练,在训练过程中可以调节影响训练效果的输入‑隐含层函数、隐含‑输出层函数、训练算法、归一化区间、隐含层个数、学习速率、最小目标误差和最大训练次数,在训练达到预期目标后,训练结束,且作为最终预测模型使用函数sim()来预测未来光伏发电功率;所述训练效果综合评估单元,用来实时反映BP神经网络的综合训练效果,为预测模型的确定提供参考;综合评估的参数有:最大百分误差、最小百分误差、平均百分误差和耗时,使用Matlab GUI中的edit显示;综合评估的图示有:训练拟合图、样本误差图和样本百分误差图,使用Matlab GUI中的axes显示;百分误差具体采用下式(1):ei=|Xfi‑Xri|/Xri·100%   (1)其中,i表示第i个样本,Xfi为第i个样本对应的预测值,Xri为第i个样本对应的实际值;最大百分误差、最小百分误差和平均百分误差分别是所有样本所对应的百分误差中的最大值、最小值和平均值;耗时是指从BP神经网络光伏发电功率预测模型建立之后一次训练开始到本次训练结束所用的时间;训练拟合图显示训练期间样本预测值拟合曲线和所对应的实际值拟合曲线之间的对比;样本误差图显示训练期间样本预测值和所对应的实际值之间的差值,具体为预测值减去实际值;样本百分误差图显示训练期间样本预测值和所对应的实际值之间的百分误差。...

【技术特征摘要】
1.一种基于Matlab的光伏发电预测研究系统,其特征在于包括:数据导入和导出单元、BP神经网络训练和预测单元、训练效果综合评估单元,其中:所述数据导入和导出单元,用于导入气象环境数据和同期相应的光伏发电功率数据,导出光伏发电功率预测值;使用Matlab函数uigetfile()来获取需要导入的和需要导出的目标Excel表格的文件路径和文件名,然后分别使用函数xlsread()和函数xlswrite()来分别读取目标表格内的数据和写入数据到目标表格;在BP神经网络训练期间,导入气象环境数据来作为BP神经网络训练的输入向量,导入同期相应的光伏发电功率数据来作为BP神经网络训练的输出向量;在经BP神经网络多次训练和参考训练效果综合评估,确定理想的BP神经网络预测模型后,导入未来时刻的气象环境数据到BP神经网络预测模型,则可预测输出光伏发电功率预测值,之后导出光伏发电功率预测值到目标表格;所述BP神经网络训练和预测单元,用于进行BP神经网络光伏发电功率预测模型的建立、训练和预测;训练和预测前,使用函数newff()建立BP神经网络光伏发电功率预测模型,需要设置输入-隐含层函数、隐含-输出层函数、训练算法、归一化区间、隐含层个数、学习速率、最小目标误差和最大训练次数;在Matlab环境中,输入-隐含层函数和隐含-输出层函数均可选tansig、logsig和purelin,均使用MatlabGUI中的listbox实现;训练算法可选LM反向传播算法trainlm、拟牛顿反向传播算法trainbfg、弹性反向传播算法trainrp和梯度下降反向传播算法traingd,使用MatlabGUI中的listbox实现;归一化区间可选[-1,1]和[0,1],使用MatlabGUI中的r...

【专利技术属性】
技术研发人员:李岩何周罗庾南胡德良王红星李金坡樊崇元周银华张俊强张佳
申请(专利权)人:广州市扬新技术研究有限责任公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1