财经 房产 娱乐 地方 美食
首页 » 娱乐

环球观热点:基于模糊神经网络算法预测电价(Matlab代码实现)

2022-12-06 16:36:39
A+ A-

1概述

近年来,随着能源短缺和环境问题的日益凸显,太阳能、风能等各种形式的清洁能源得到广泛应用,微网作为分布式电源接入电网的有效途径得到快速发展"。大量的新能源以及储能装置接入给微网带来能量调度复杂以及经济性低等问题。本文参考了模糊算法预测电价。


(资料图片)

2模糊神经网络简介

模糊神经网络包括输入层、模糊化层、模糊推理层、归一化层、输出层等多个层级,其基本结构如图4所示:

可以将输入层的输入样本集合标记为X,利用模糊化层表示各输入结点的从属程度,并将各神经网络表示为一种具有一定程度的模糊化准则,选择隶属函数为径向对称的高斯函数,第j个神经元输出函数定义为:

其中cij和σij分别表示的是第j个高斯隶属函数的中心和宽度。经过模糊推理层的处理得出的输出结果为:

部分代码:

clc

%%读取数据

training=csvread("训练数据.csv",1,1);

testing=csvread("测试数据.csv",1,1);

%%剔除异常值:

P=training(:,3);

P1=testing(:,3);

figure("name","使用异常值训练数据");

plot(P,"b*");

Ph=P;

title("使用异常值训练数据")

figure("name","使用异常值测试数据");

plot(P1,"b*");

title("使用异常值测试数据")

Q1=prctile(P,25);

Q3=prctile(P,75);

range=[Q1-1.5*(Q3-Q1),Q3+1.5*(Q3-Q1)];

position=[find(P>range(2))find(P

%%剔除异常值

P(position)=[];

figure

plot(P,"r*");

title("没有异常值的训练数据")

figure

subplot(1,2,1)

hist(Ph)

title("没有异常值的训练数据")

subplot(1,2,2)

hist(P)

title("没有异常值的训练数据")

%%模糊神经网络

training=removerows(training,position);

T=training(:,1);

D=training(:,2);

P=training(:,3);

t=3:(length(training)-1);

training=[T(t-2),T(t-1),T(t),D(t-2),D(t-1),D(t),P(t+1)];

trainC=corrcoef(training);%相关矩阵

%%定义模糊输入和输出

trainingInputs(:,1)=training(:,6);

trainingInputs(:,2)=training(:,2);

trainingOutputs=training(:,7);

figure

hist(trainingInputs(:,1))

title("电力需求直方图")

figure

hist(trainingInputs(:,2))

title("温度直方图")

figure

hist(trainingOutputs)

title("电价直方图")

3运行结果

4参考文献

部分理论引用网络文献,若有侵权请联系博主删除。

[1]齐霁,李威,宁亮,王鸥,李曦.基于模糊神经网络的电网调度自动化控制系统[J].制造业自动化,2022,44(01):118-122.

[2]张玉涵.基于TS模型的可控励磁直线电动机模糊控制研究[D].沈阳工业大学,2022.DOI:10.27322/d.cnki.gsgyu.2022.000323.

5Matlab代码实现

责任编辑:bH_02339
点击查看全文(剩余0%)

相关新闻