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

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

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<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 运行结果


🎉作者研究:🏅🏅🏅主要研究方向是电力系统和智能算法、机器学习和深度学习。目前熟悉python网页爬虫、机器学习、群智能算法、深度学习的相关内容。希望将计算机和电网有效结合!⭐️⭐️⭐️

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者.


👨‍🎓博主课外兴趣:中西方哲学,送予读者:


👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“真理”上的尘埃吧。


    或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎


4 参考文献

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


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


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


5 Matlab代码实现

回复关键字

相关文章
|
3天前
|
算法 数据安全/隐私保护 计算机视觉
基于二维CS-SCHT变换和LABS方法的水印嵌入和提取算法matlab仿真
该内容包括一个算法的运行展示和详细步骤,使用了MATLAB2022a。算法涉及水印嵌入和提取,利用LAB色彩空间可能用于隐藏水印。水印通过二维CS-SCHT变换、低频系数处理和特定解码策略来提取。代码段展示了水印置乱、图像处理(如噪声、旋转、剪切等攻击)以及水印的逆置乱和提取过程。最后,计算并保存了比特率,用于评估水印的稳健性。
|
4天前
|
存储 算法 数据可视化
基于harris角点和RANSAC算法的图像拼接matlab仿真
本文介绍了使用MATLAB2022a进行图像拼接的流程,涉及Harris角点检测和RANSAC算法。Harris角点检测寻找图像中局部曲率变化显著的点,RANSAC则用于排除噪声和异常点,找到最佳匹配。核心程序包括自定义的Harris角点计算函数,RANSAC参数设置,以及匹配点的可视化和仿射变换矩阵计算,最终生成全景图像。
|
4天前
|
算法 Serverless
m基于遗传优化的LDPC码NMS译码算法最优归一化参数计算和误码率matlab仿真
MATLAB 2022a仿真实现了遗传优化的归一化最小和(NMS)译码算法,应用于低密度奇偶校验(LDPC)码。结果显示了遗传优化的迭代过程和误码率对比。遗传算法通过选择、交叉和变异操作寻找最佳归一化因子,以提升NMS译码性能。核心程序包括迭代优化、目标函数计算及性能绘图。最终,展示了SNR与误码率的关系,并保存了关键数据。
13 1
|
4天前
|
算法 关系型数据库 C语言
卡尔曼滤波简介+ 算法实现代码(转)
卡尔曼滤波简介+ 算法实现代码(转)
15 4
|
5天前
|
算法 调度
考虑需求响应的微网优化调度模型【粒子群算法】【matlab】
考虑需求响应的微网优化调度模型【粒子群算法】【matlab】
|
5天前
|
运维 算法
基于改进遗传算法的配电网故障定位(matlab代码)
基于改进遗传算法的配电网故障定位(matlab代码)
|
2天前
|
网络协议 Linux 网络架构
|
5天前
|
域名解析 网络协议 Linux
linux网络配置详解
linux网络配置详解
14 0
|
6天前
|
网络协议 Java Linux
【探索Linux】P.29(网络编程套接字 —— 简单的TCP网络程序模拟实现)
【探索Linux】P.29(网络编程套接字 —— 简单的TCP网络程序模拟实现)
12 0
|
6天前
|
存储 网络协议 算法
【探索Linux】P.28(网络编程套接字 —— 简单的UDP网络程序模拟实现)
【探索Linux】P.28(网络编程套接字 —— 简单的UDP网络程序模拟实现)
12 0