【水质预测】基于matlab模糊神经网络水质预测【含Matlab源码 1923期】
一、模糊神经网络水质预测简介
1 模糊神经网络
从整体结构框架上看, 两个输入一个输出, 它像一个神经网络;从功能上讲, 是一个模糊系统。模糊神经网络结构如图1所示, 此网络结构共分为5个层次, 它是一个由神经网络构造实现的模糊推理系统, 以模糊系统的工作过程为依据来设计的。首先, 输入层输入两个信号;其次模糊化层, 模糊化输入的信号;再次是模糊规则计算层;然后是模糊决策层, 将满足条件的量分类并且将模糊的量转化为清晰结果;最后第五层作为输出层, 输出最后的运算结果。
2 水质评价问题
目前为止水质监控评测的方法有很多, 可是都存在局限性。我国一直以营养物、无机物、微生物和重金属离子作为主要水质参数。传统的生物或者化学水质评价方法, 只能得出是否污染以及污水主要的成分, 不能将水质真正所存在的潜在问题反映出来。在线自动连续监测的水质污染综合系统, 与连续自动监测大气污染的系统相比, 水质监测要困难得多。当然, 这些问题都是可以解决的, 但是找到合适的水质评价方法尤为重要。
图2 模糊神经网络水质评价的一般步骤
2.1 水质评价的主要参数
水质评价中常用的参数有六种: (1) 常规水质参数; (2) 氧平衡参数; (3) 重金属参数; (4) 有机污染物参数; (5) 无机污染物参数, ; (6) 生物参数。
2.2 水质评价的一般步骤
模糊神经网络水质评价算法实验的主要步骤如图2所示, 主要分为六个步骤。
3 基于T-S模糊神经网络建模
3.1 T-S模糊模型
T-S模糊系统不仅能够自动更新模糊子集的隶属函数, 而且能不断更新隶属度函数。属于一种不断成长的自学习系统。该模型, T-S模糊系统定义在下面的“if-then”规则中。根据规则Ri中, 模糊推理如下:
其中, Aij为模糊系统的模糊集;pij (j=1, 2, …, k) 为模糊系统参数;yi为根据模糊规则得到的输出, 输入部分 (即if部分) 是模糊的, 输出部分 (即then部分) 是确定的, 该模糊推理表示输出为输入的线性组合。
假设输入量x=[x1, x2, …xk], 首先依照模糊规则计算每个输入变量, xj的隶属度。
其中, cji, bji分别为隶属度函数的中心和宽度;k为输入参数;n为模糊子集数。将各个隶属度进行模糊计算, 应用模糊算子作为连乘算子。
根据模糊计算结果计算模糊模型的输出值yi。
3.2 T-S模糊神经网络
T-S模糊神经网络包括四层结构:输入层、模糊化层、模糊规则计算层和输出层。模糊神经网络的学习算法如下:
(1) 误差计算
式中, yd是网络预期输出;yc网络实际输出;e预期输出和实际输出的误差。
(2) 系数修正
式中, pji为神经网络系数, α为网络学习效率, xj为网络输入参数;ωi为输入参数隶属度连乘积。
(3) 参数修正
式中, cji, bji分别为隶属度函数的中心和宽度。
3.3 模型的建立
模糊神经网络将训练样本的维数作为基础前提, 构建模糊神经网络基础要素:输入、输出节点数、模糊隶属度函数个数。最后选定输入数据为6个 (包括氨氮含量、溶解氧含量、化学需氧量、高锰酸盐指数、总磷和总氮六项指标) , 将水质等级划分为五类, 用数字1—5表示水质等级I—V类, 所以输出的节点数字为1, 形成了6-12-1的网络结构。
二、部分源代码
%---------------------------------------------%
%
%---------------------------------------------%%% 清空环境变量
clc
clear%% 参数初始化
xite=0.001;
alfa=0.05;%网络节点
I=6; %输入节点数
M=12; %隐含节点数
O=1; %输出节点数%系数初始化
p0=0.3*ones(M,1);p0_1=p0;p0_2=p0_1;
p1=0.3*ones(M,1);p1_1=p1;p1_2=p1_1;
p2=0.3*ones(M,1);p2_1=p2;p2_2=p2_1;
p3=0.3*ones(M,1);p3_1=p3;p3_2=p3_1;
p4=0.3*ones(M,1);p4_1=p4;p4_2=p4_1;
p5=0.3*ones(M,1);p5_1=p5;p5_2=p5_1;
p6=0.3*ones(M,1);p6_1=p6;p6_2=p6_1;%参数初始化
c=1+rands(M,I);c_1=c;c_2=c_1;
b=1+rands(M,I);b_1=b;b_2=b_1;maxgen=100; %进化次数%网络测试数据,并对数据归一化
load data1 input_train output_train input_test output_test%选连样本输入输出数据归一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);
[n,m]=size(input_train);%% 网络训练
%循环开始,进化网络
for iii=1:maxgeniiifor k=1:m x=inputn(:,k);%输出层结算for i=1:Ifor j=1:Mu(i,j)=exp(-(x(i)-c(j,i))^2/b(j,i));endend
三、运行结果
四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]康彩丽.模糊神经网络在水质评价中的应用研究[J].忻州师范学院学报. 2019,35(02)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
【水质预测】基于matlab模糊神经网络水质预测【含Matlab源码 1923期】相关推荐
- 【Matlab电力负荷预测】粒子群优化支持向量机短期电力负荷预测【含GUI源码 751期】
一.代码运行视频(哔哩哔哩) [Matlab电力负荷预测]粒子群优化支持向量机短期电力负荷预测[含GUI源码 751期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 ...
- 【Matlab人脸识别】BP神经网络人脸识别(含识别率)【含GUI源码 891期】
一.代码运行视频(哔哩哔哩) [Matlab人脸识别]BP神经网络人脸识别(含识别率)[含GUI源码 891期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...
- 【Matlab树叶分类】BP神经网络植物叶片分类【含GUI源码 916期】
一.代码运行视频(哔哩哔哩) [Matlab树叶分类]BP神经网络植物叶片分类[含GUI源码 916期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅 ...
- 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】
一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...
- 【Matlab人脸识别】形态学教室人数统计(带面板)【含GUI源码 1703期】
一.代码运行视频(哔哩哔哩) [Matlab人脸识别]形态学教室人数统计(带面板)[含GUI源码 1703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟 ...
- 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】
一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...
- 【Matlab身份证识别】身份证号码识别【含GUI源码 014期】
一.代码运行视频(哔哩哔哩) [Matlab身份证识别]身份证号码识别[含GUI源码 014期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...
- 【Matlab生物电信号】生物电信号仿真【含GUI源码 684期】
一.代码运行视频(哔哩哔哩) [Matlab生物电信号]生物电信号仿真[含GUI源码 684期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]董兵,超于毅,李 ...
- 【Matlab语音分析】语音信号分析【含GUI源码 1718期】
一.代码运行视频(哔哩哔哩) [Matlab语音分析]语音信号分析[含GUI源码 1718期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊,郑铁 ...
- 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】
一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...
最新文章
- JS获取当天零点或23:59:59的时间
- C++基类和派生类的构造函数(一)
- Linux资源控制-CPU和内存【转】
- train_test_split按比例划分
- paip.regf文件读取与编辑
- java模拟填充网页表单_Java模拟form表单提交普通参数和文件
- Simulink 环境基础知识(二十一)--优化、估计和扫描模块参数值
- 【STM32知识点】STM32基础知识总结
- [Typecho]更换头像源及显示QQ显示头像
- 普通话测试app怎么样可以不交钱_和小首一起好好说普通话!
- 安全远程办公的十大技巧
- 【Java】session.getAttribute出现[classes/:na]报错如何解决
- 一个简单的蓝牙指令测试工具
- opencv 简单的裂缝检测
- 【虾皮选品分享】马来西亚/菲律宾市场时尚美妆热销趋势
- Linux:生成core的几种方式
- 信号(进程间的通信方式)
- flush privileges 命令
- 互联网公司为什么普遍996而不是666?
- 医疗器械系统软件转产方案
热门文章
- java do while 循环语句用法
- 解决Vue中重复点击相同路由控制台报错问题
- Matlab中exp函数的使用
- 把Apple ID 账号改成QQ邮箱教程
- 房贷新政冷冻楼市 炒楼热钱流向股市
- 计算机毕业设计(9)python毕设作品之校园失物招领系统
- 设计思维引导设计实践
- SAP Crystal Reports, developer version for Microsoft Visual Studio - 2012 Now Available for Download
- 【源码】在线单纯形搜索的Nelder-Mead优化仿真
- 物联网专科专业必修课程_物联网应用技术专业介绍(专科)