基于模糊神经网络算法预测电价(Matlab代码实现)

 📋📋📋本文目录如下:⛳️⛳️⛳️

目录

1 概述

2 模糊神经网络简介

3 运行结果

4 参考文献

5 Matlab代码实现


1 概述

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

2 模糊神经网络简介

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

            

可以将输入层的输入样本集合标记为X,利用模糊化层表示各输入结点的从属程度,并将各神经网络表示为一种具有一定程度的模糊化准则,选择隶属函数为径向对称的高斯函数,第j个神经元输出函数定义为: 
    F_{\text {Fuzz }}=\exp \left[-\frac{\left(x_{i}-c_{i j}\right)^{2}}{2 \sigma_{i j}^{2}}\right]

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

F_{\text {rule }}=H_{j}\left(X_{k}\right)=\exp \left[-\frac{\sum_{i=1}^{K}\left(x_{i}-c_{i j}\right)^{2}}{2 \sigma_{j}^{2}}\right]

部分代码:

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<range(1))];
%% 剔除异常值
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.

5 Matlab代码实现

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值