一、模糊神经网络水质预测简介

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期】相关推荐

  1. 【Matlab电力负荷预测】粒子群优化支持向量机短期电力负荷预测【含GUI源码 751期】

    一.代码运行视频(哔哩哔哩) [Matlab电力负荷预测]粒子群优化支持向量机短期电力负荷预测[含GUI源码 751期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 ...

  2. 【Matlab人脸识别】BP神经网络人脸识别(含识别率)【含GUI源码 891期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]BP神经网络人脸识别(含识别率)[含GUI源码 891期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  3. 【Matlab树叶分类】BP神经网络植物叶片分类【含GUI源码 916期】

    一.代码运行视频(哔哩哔哩) [Matlab树叶分类]BP神经网络植物叶片分类[含GUI源码 916期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅 ...

  4. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

  5. 【Matlab人脸识别】形态学教室人数统计(带面板)【含GUI源码 1703期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]形态学教室人数统计(带面板)[含GUI源码 1703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟 ...

  6. 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...

  7. 【Matlab身份证识别】身份证号码识别【含GUI源码 014期】

    一.代码运行视频(哔哩哔哩) [Matlab身份证识别]身份证号码识别[含GUI源码 014期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  8. 【Matlab生物电信号】生物电信号仿真【含GUI源码 684期】

    一.代码运行视频(哔哩哔哩) [Matlab生物电信号]生物电信号仿真[含GUI源码 684期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]董兵,超于毅,李 ...

  9. 【Matlab语音分析】语音信号分析【含GUI源码 1718期】

    一.代码运行视频(哔哩哔哩) [Matlab语音分析]语音信号分析[含GUI源码 1718期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊,郑铁 ...

  10. 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】

    一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

最新文章

  1. JS获取当天零点或23:59:59的时间
  2. C++基类和派生类的构造函数(一)
  3. Linux资源控制-CPU和内存【转】
  4. train_test_split按比例划分
  5. paip.regf文件读取与编辑
  6. java模拟填充网页表单_Java模拟form表单提交普通参数和文件
  7. Simulink 环境基础知识(二十一)--优化、估计和扫描模块参数值
  8. 【STM32知识点】STM32基础知识总结
  9. [Typecho]更换头像源及显示QQ显示头像
  10. 普通话测试app怎么样可以不交钱_和小首一起好好说普通话!
  11. 安全远程办公的十大技巧
  12. 【Java】session.getAttribute出现[classes/:na]报错如何解决
  13. 一个简单的蓝牙指令测试工具
  14. opencv 简单的裂缝检测
  15. 【虾皮选品分享】马来西亚/菲律宾市场时尚美妆热销趋势
  16. Linux:生成core的几种方式
  17. 信号(进程间的通信方式)
  18. flush privileges 命令
  19. 互联网公司为什么普遍996而不是666?
  20. 医疗器械系统软件转产方案

热门文章

  1. java do while 循环语句用法
  2. 解决Vue中重复点击相同路由控制台报错问题
  3. Matlab中exp函数的使用
  4. 把Apple ID 账号改成QQ邮箱教程
  5. 房贷新政冷冻楼市 炒楼热钱流向股市
  6. 计算机毕业设计(9)python毕设作品之校园失物招领系统
  7. 设计思维引导设计实践
  8. SAP Crystal Reports, developer version for Microsoft Visual Studio - 2012 Now Available for Download
  9. 【源码】在线单纯形搜索的Nelder-Mead优化仿真
  10. 物联网专科专业必修课程_物联网应用技术专业介绍(专科)