基于模糊神经网络的水质评价代码
基于模糊神经网络的海水水质评价 宗勇军

基于模糊神经网络的海水水质评价宗勇军摘要:为了能够客观地对海水水质进行综合评价,利用遥感图像获取的实时与大范围优势,基于卷积神经网络的沿海水质综合评价方法。
通过多层卷积与池化操作,降低因图像平移、缩放、倾斜等变换引起的误差,提高水质评价精度。
实验结果表明,该方法可较准确地评价沿海水质,具有一定的实用价值。
关键词:沿海水质;水质评价;神经网络随着沿海养殖、工业、运输和旅游等行业的迅速发展,近岸海域所承受的资源与环境压力也日益严重,自净速度往往赶不上生产、生活排污速度,从而导致沿海区域水质下降和生物资源减少等海洋生态环境问题。
目前,沿海水质评价数据采集手段已多样化,主要包括卫星遥感、船舶、航空、浮标和台站等方式,而基于遥感图像的水质评价因具有快速、低成本、即时同步性好等优势,已成为当前沿海水质监测与评价的主流方式,可实时快速获得大面积区域沿海水质信息。
卫星遥感的原理是利用卫星重现观测目标电磁辐射特性的空间分布状况,包含观测目标的光谱、时空等特征,并通过分析、推理与判断遥感影像中的目标特征信息来实现观测目标识别。
一、沿海水质评价技术总体框架沿海水质评价技术框架如图1 所示,在水质评价前,需对卷积神经网络进行样本训练。
训练集由沿海水质评价知识集、沿海卫星遥感图像数据和实测的沿海水质数据组成。
其中以卫星遥感图像数据和沿海水质评价知识集为输入样本,以实测的沿海水质数据为目标样本。
在沿海水质评价过程中,将卫星观测的遥感图像数据和水质评价知识数据作为输入数据集,利用训练好的卷积神经网络进行分类识别,最终实现沿海水质的评价与分类。
根据标准海水水质标准,海洋水质分为Ⅰ类、Ⅱ类、Ⅲ类和Ⅳ类[1],对于劣于第Ⅳ类的水质,根据[1]将其分为劣Ⅳ类。
因此在训练及识别过程中,以上述级别的分类标准作为沿海水质评价标准指标,实现沿海水质的分类处理。
二、卷积神经网络的沿海水质评价技术1、沿海水质遥感图像校正。
由于受到遥感器自身特性、大气折射、地球自转和成像方式等因素的影响,卫星遥感采集的影像存在一定的数据失真与几何畸变现象,这必然影响后期影像处理质量和应用效果。
基于模糊神经网络的海水水质综合评价

第 2期
海
洋
通
报
Vo. 3I. NO 2 1 . Ap .2 2 r 01
21 0 2年 4月
M A N S E E UL E I RI E CI NC B L T N
基于模糊神经 网络 的海水 水质综合评价
刁美娜 ,温小虎 , 一 ,刘有 刚 3 ,王德 ,高猛
3 Qnd oH a hi ri eE gneigPopcigIsi t,S A,Qnd o2 63 ,C ia . ign u n a Maim n iern rset ntue O t n t ig a 6 0 3 hn )
Ab t a t I i su y w t 2 wae u l y d t o s mp i g s e fL d o h n B y h u l y o e t rb s d sr c : n t s td , i 2 trq ai a af m a l i so i a z e a ,t e q ai f awae a e h h t r n t t s
o u z e rln t ok w s as se .T e rs l h w ta 09 % o h smpe eo g t ls 1wae u ly n fzy n ua ew r a se sd h eut so h t4 .1 s fte a lsb ln o ca s trq ai t
中 图分 类 号 :X 2 84 文 献 标 识 码 :A 文 章编 号 : 10 — 9 2 2 1 )2 0 2 — 5 0 1 6 3 ( 0 2 0 — 2 8 0
I t g a e a s s m e n e t r qu lt n e r t d s e s nto s a wa e a iy b s d o h u z ur lne wo k a e n t e f z y ne a t r
基于CSO优化模糊神经网络的污水处理出水COD预测模型

基于CSO优化模糊神经网络的污水处理出水COD预测模型基于CSO优化模糊神经网络的污水处理出水COD预测模型随着工业化和城市化的快速发展,污水处理成为了保护环境和人类健康的重要任务。
而污水处理过程中,COD(化学需氧量)是一个重要的指标,它可以反映污水中有机物的含量和水体的污染程度。
因此,准确预测污水处理出水COD浓度对于有效的水质管理和资源利用至关重要。
神经网络是一种通过模拟生物神经紧密相连的大量简单的处理单元之间的相互作用实现信息处理的数学模型。
神经网络的一个重要组成部分是模糊神经网络(FNN),它可以模拟人类模糊推理的过程。
模糊神经网络具有灵活性和适应性强的特点,可以处理输入参数之间的不确定性和模糊性,因此在污水处理出水COD预测中具有很高的应用潜力。
然而,传统的神经网络对于多参数优化问题中的收敛速度和最优解搜索存在一些问题。
针对这个问题,我们引入了CSO (Cuckoo Search Optimization)算法来优化模糊神经网络的权重和阈值。
CSO算法是一种群体智能算法,模拟了布谷鸟觅食的过程,通过随机漫步和布谷鸟蛋的交换来搜索最优解。
通过引入CSO算法,我们可以提高神经网络的收敛速度和优化结果的准确性。
该研究首先收集了大量的污水处理系统历史数据,包括进水COD浓度、溶解氧、污泥浓度以及处理时间等参数。
然后,利用这些数据建立了基于模糊神经网络的污水处理出水COD预测模型。
在模型中,进水COD浓度、溶解氧、污泥浓度以及处理时间作为输入变量,而出水COD浓度作为输出变量。
为了优化模型的性能,我们引入了CSO算法对神经网络的权重和阈值进行优化。
通过数值实验,我们评估了优化后的模型的预测性能。
结果显示,基于CSO优化的模糊神经网络模型能够准确预测污水处理出水COD浓度。
相比于传统的神经网络模型,优化后的模型具有更高的预测精度和收敛速度。
此外,我们还对模型进行了灵敏度分析,分析了不同输入变量对污水处理出水COD浓度的影响程度。
基于模糊RBF神经网络的地表水环境质量评价

2 0 1 3年1 1 月
水 力 发 电
基 予 模 糊 RB F 种 经 网 络 的
地 表 水 环统质量 评价
孙 旺 旺 ,任 传 胜 ,朱 春 伟
( 中 国科 学技 术 大 学 工 程 科 学 学 院 ,安 徽 合 肥 2 3 0 0 2 6 )
摘 要 :针 对 现 有 水 质 评 价 方 法 评 价 结 论 过 保 护 、存 在 人 为 因 素 影 响 、表 达模 糊信 息 能 力 弱 等 问题 ,结 合 模 糊 评 价
e v lu a a t e t h e wa t e r q u a l i t y o f t h e r e a c h o f Hu a i h e Ri v e r i n An h u i P r o v i n c e ,a n d t h e r e s u l t s i S c o mp a r e d w i t h s i n g l e f a c t o r
r e s u l t s , a n d he t n e w m o d e l i s o b j e c t i v e a n d r e a s o n a b l e . T h e w a t e r q u a l i t y i n m a n y m o n i t o r i n g s i t e s o f t h e r e a c h e s o f H u a i h e R i v e r
a s s e s s me n t me t h o d t o p r o v e t h e r a t i o n li a t y o f mo d e 1 . T h e e v a l u a t i o n r e s u l t s s h o w t h a t t wo me t h o d s b a s i c a l l y h a v e s a me e v lu a a t i n g
基于模糊BP神经网络的苏南Y湖水质评价

基于模糊BP神经网络的苏南Y湖水质评价作者:孙永泉刘旭陈吉陆幸鹦宋梅来源:《安徽农业科学》2014年第34期摘要以苏南Y湖水环境为研究对象,运用模糊神经网络进行水质评价,根据评价结果进行该湖不同水域的水质比较。
结果表明:该湖水体溶解氧和化学需氧量在5种不同水域具有显著性差异,两者均以中湖、东湖和湖内围网区为最高,上游河流最低;而水体氨氮、总氮和总磷含量在各水域均没有显著性差异。
建立以上述5个水质指标为输入变量、包含3个神经元的隐含层和1个水质类别输出结果所组成的BP人工神经网络,经学习训练后,其可掌握水质类别特征,具备完全正确识别样本的能力。
从BP网络输出结果和模糊BP神经网络计算结果可知,该湖各水域水质处于Ⅳ和Ⅴ类之间,总体来说西湖的水质最好,上游河流次之,其次为湖内围网区和东湖,湖中最差。
相比BP网络输出结果,模糊BP神经网络计算结果可以更简单明了地表示该湖各水域水质接近于某类标准水质的程度。
关键词水质评价;BP人工神经网络;模糊综合评价;模糊BP神经网络中图分类号 S181.3;X825 ;文献标识码 A ;文章编号 0517-6611(2014)34-12253-03Y湖是苏南地区调蓄水量的主要湖泊和市区重要饮用水源,对于该地区的生活饮用、工业用水、农业灌溉和渔业资源保护等均起关键作用。
近年来,随着该地区工农业的快速发展,湖水营养物质富集,导致该湖水体的富营养化水平不断加剧。
因此,Y湖水环境的保护对于保障该地区人民生活质量和经济持续发展具有十分重要的意义。
水质评价是进行水环境保护的前提和基础[1]。
地球上所有水环境系统是一个开放而又难以界定的非线性复杂系统[2]。
采用传统的水质评价方法,往往通过大量的假设简化而偏离真实情况。
模糊BP神经网络是模糊理论同BP神经网络相结合的产物,可实现样本识别、杂讯过滤、特征量记忆存储、学习与联想及模糊信息处理等功能,在复杂系统进行定量化研究方面具有独特优势[3]。
基于T—S模糊神经网络花溪河流域水质评价

基于T—S模糊神经网络花溪河流域水质评价作者:杨秀忠来源:《科学与财富》2017年第24期摘要:本文选用T-S模型的模糊神经系统进行水质评价,利用该模式能够运用简单的一元函数的复合来实现复杂的多元函数的优势,分析处理花溪河6个断面6项水质指标数据。
为了更好的体现T-S模型的优势,本文同步利用单因子评价法,综合污染指数法对水质进行评价,横向对比三者的特点。
其结果证明了T-S模型在水质评价中具有强大的优势,操作相对简单,克服了人的主观性,可以进行深入研究,并运用到生产实际。
此次水环境评价结果可以为花溪河流域水环境的保护与防治提供依据。
关键词:花溪河流域,T-S模型,水质评价。
引言:从新的地域范围讲,花溪河流域分属花溪区和贵安新区。
自2013年以来,花溪区响应国发2号文件的号召,对各项投资优惠政策进行深化,赢得了国内外投资者的青睐,提出建成花溪旅游文化创新区。
近年来在花溪区极力打造“大花溪,大花园,大溪流”的良好格局,以建设成“山清水秀”的魅力城市为目标。
贵安新区工程性缺水十分严重,对花溪河流域依赖很大,在区政府工作会议上,也把把生态文明建设放在首位,因此花溪河的建设和保护不容忽视,而且花溪河作为国家饮用水保护功能区Ⅰ类区,地位极其特殊。
所以必须注重花溪河流域生态环境的建设,响应国家提出的“水十条”等相关内容,确保水功能区纳污红线的开展,促进经济又好又快发展。
本文在此时代背景下,实现了T-S模糊神经神经网络对花溪河流域的水环境评价,其结果可以为花溪河流域水资源量的开发与利用,水环境的防范与保护提供依据。
一.T-S模型的理论基础T-S模糊神经网络采是取神经网络技术进行模糊信息处理,使模糊规则自动提取及自动生成模糊隶属函数成为可能,成功构建自适应模糊系统。
它能够不断完善模糊子集的隶属关系,还能自动完成更新。
T-S模糊神经系统语句的变现形式为“if-then”。
模糊神经网络T-S模糊神经网络由四层组成,分别是输入层、模糊化层、模糊规则计算层和输出层,输入层与输入向量之间由变量xi 连接,输入向量与节点数的维数相同。
基于T-S模糊神经网络评价汉江干流汉中段水质

基于T-S模糊神经网络评价汉江干流汉中段水质高凯;贾伟【期刊名称】《微型电脑应用》【年(卷),期】2016(32)2【摘要】为准确客观地评价汉江干流汉中段水环境质量状况,利用T-S模糊神经网络模型,对汉江干流汉中段监测点,连续5年的水质监测状况数据进行了分析评价.结果表明,在选取的6个水质监测指标数据下,汉江干流汉中段水质相对较好,但流经城镇段的水质存在恶化的趋势,需要采取措施进行有效的预防保护.提出的T-S模糊神经网络应用于水环境质量评价方法简便可靠,预测精度高,可以在水质评价中进行推广.%In order to evaluate the water environmental quality status accurately and objectively in Hanzhong stretch of Hanjiang mainstream, this paper uses T-S fuzzy neural network model to do analysis and evaluation to the water quality monitoring data got in the monitoring points of Hanzhong stretch of Hanjiang mainstream for five years in a row. The results shows that according to the six selected indicators of water quality monitoring data, the water quality of Hanzhong stretch of Hanjiang mainstream is relatively good, but the water quality of stretch through the town tends to be deteriorated, to which measures should be taken to protect. In this paper, TS fuzzy neural network used in water environmental quality assessment method is simple, reliable, high prediction accuracy, which can promote water quality evaluation.【总页数】3页(P51-53)【作者】高凯;贾伟【作者单位】陕西理工学院,数学计算机科学学院,汉中,723001;陕西理工学院,数学计算机科学学院,汉中,723001【正文语种】中文【中图分类】TP399【相关文献】1.基于T-S模糊神经网络模型的钦州市主要河流水质评价 [J], 莫崇勋;阮俞理;莫桂燕;朱新荣;孙桂凯2.基于T-S模糊神经网络模型的汉中段汉江流域水质评价与分析 [J], 拓守恒;何红;李鹏飞3.基于T-S模糊神经网络的南京市水质评价方法研究 [J], 李磊;冯鑫4.基于T-S模糊神经网络的水质评价方法及其在四水流域的应用 [J], 钟艳红; 苗东昊; 赵明汉; 邵东国; 朱诗好5.基于T-S模糊神经网络的水质评价方法及其在四水流域的应用 [J], 钟艳红; 苗东昊; 赵明汉; 邵东国; 朱诗好因版权原因,仅展示原文概要,查看原文内容请购买。
基于模糊神经网络的水质评价代码

该代码为基于模糊神经网络的水质评价代码清空环境变量参数初始化网络训练网络预测嘉陵江实际水质预测清空环境变量clcclear参数初始化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:maxgeniii;for k=1:mx=inputn(:,k);%输出层结算for i=1:Ifor j=1:Mu(i,j)=exp(-(x(i)-c(j,i))^2/b(j,i));endend%模糊规则计算for i=1:Mw(i)=u(1,i)*u(2,i)*u(3,i)*u(4,i)*u(5,i)*u(6,i);endaddw=sum(w);for i=1:Myi(i)=p0_1(i)+p1_1(i)*x(1)+p2_1(i)*x(2)+p3_1(i)*x(3)+p4_1(i)*x(4)+p5_1(i)*x(5)+p6_1(i)*x(6);endaddyw=yi*w';%网络预测计算yn(k)=addyw/addw;e(k)=outputn(k)-yn(k);%计算p的变化值d_p=zeros(M,1);d_p=xite*e(k)*w./addw;d_p=d_p';%计算b变化值d_b=0*b_1;for i=1:Mfor j=1:Id_b(i,j)=xite*e(k)*(yi(i)*addw-addyw)*(x(j)-c(i,j))^2*w(i)/(b(i,j)^2*addw^2);endend%更新c变化值for i=1:Mfor j=1:Id_c(i,j)=xite*e(k)*(yi(i)*addw-addyw)*2*(x(j)-c(i,j))*w(i)/(b(i,j)*addw^2);endendp0=p0_1+ d_p+alfa*(p0_1-p0_2);p1=p1_1+ d_p*x(1)+alfa*(p1_1-p1_2);p2=p2_1+ d_p*x(2)+alfa*(p2_1-p2_2);p3=p3_1+ d_p*x(3)+alfa*(p3_1-p3_2);p4=p4_1+ d_p*x(4)+alfa*(p4_1-p4_2);p5=p5_1+ d_p*x(5)+alfa*(p5_1-p5_2);p6=p6_1+ d_p*x(6)+alfa*(p6_1-p6_2);b=b_1+d_b+alfa*(b_1-b_2);c=c_1+d_c+alfa*(c_1-c_2);p0_2=p0_1;p0_1=p0;p1_2=p1_1;p1_1=p1;p2_2=p2_1;p2_1=p2;p3_2=p3_1;p3_1=p3;p4_2=p4_1;p4_1=p4;p5_2=p5_1;p5_1=p5;p6_2=p6_1;p6_1=p6;c_2=c_1;c_1=c;b_2=b_1;b_1=b;endE(iii)=sum(abs(e));endfigure(1);plot(outputn,'r')hold onplot(yn,'b')hold onplot(outputn-yn,'g');legend('实际输出','预测输出','误差','fontsize',12)title('训练数据预测','fontsize',12)xlabel('样本序号','fontsize',12)ylabel('水质等级','fontsize',12)Warning: Ignoring extra legend entries.网络预测%数据归一化inputn_test=mapminmax('apply',input_test,inputps);[n,m]=size(inputn_test)for k=1:mx=inputn_test(:,k);%计算输出中间层for i=1:Ifor j=1:Mu(i,j)=exp(-(x(i)-c(j,i))^2/b(j,i));endendfor i=1:Mw(i)=u(1,i)*u(2,i)*u(3,i)*u(4,i)*u(5,i)*u(6,i);endaddw=0;for i=1:Maddw=addw+w(i);endfor i=1:Myi(i)=p0_1(i)+p1_1(i)*x(1)+p2_1(i)*x(2)+p3_1(i)*x(3)+p4_1(i)*x(4)+p5_1(i)*x(5)+p6_1(i)*x(6);endaddyw=0;for i=1:Maddyw=addyw+yi(i)*w(i);end%计算输出yc(k)=addyw/addw;end%预测结果反归一化test_simu=mapminmax('reverse',yc,outputps);%作图figure(2)plot(output_test,'r')hold onplot(test_simu,'b')hold onplot(test_simu-output_test,'g')legend('实际输出','预测输出','误差','fontsize',12)title('测试数据预测','fontsize',12)xlabel('样本序号','fontsize',12)ylabel('水质等级','fontsize',12)n =6m =50Warning: Ignoring extra legend entries.嘉陵江实际水质预测load data2 hgsc gjhy dxg%-----------------------------------红工水厂----------------------------------- zssz=hgsc;%数据归一化inputn_test =mapminmax('apply',zssz,inputps);[n,m]=size(zssz);for k=1:1:mx=inputn_test(:,k);%计算输出中间层for i=1:Ifor j=1:Mu(i,j)=exp(-(x(i)-c(j,i))^2/b(j,i));endendfor i=1:Mw(i)=u(1,i)*u(2,i)*u(3,i)*u(4,i)*u(5,i)*u(6,i);endaddw=0;for i=1:Maddw=addw+w(i);endfor i=1:Myi(i)=p0_1(i)+p1_1(i)*x(1)+p2_1(i)*x(2)+p3_1(i)*x(3)+p4_1(i)*x(4)+p5_1(i)*x(5)+p6_1(i)*x(6);endaddyw=0;for i=1:Maddyw=addyw+yi(i)*w(i);end%计算输出szzb(k)=addyw/addw;endszzbz1=mapminmax('reverse',szzb,outputps);for i=1:mif szzbz1(i)<=1.5szpj1(i)=1;elseif szzbz1(i)>1.5&&szzbz1(i)<=2.5szpj1(i)=2;elseif szzbz1(i)>2.5&&szzbz1(i)<=3.5szpj1(i)=3;elseif szzbz1(i)>3.5&&szzbz1(i)<=4.5szpj1(i)=4;elseszpj1(i)=5;endend% %-----------------------------------高家花园-----------------------------------zssz=gjhy;inputn_test =mapminmax('apply',zssz,inputps);[n,m]=size(zssz);for k=1:1:mx=inputn_test(:,k);%计算输出中间层for i=1:Ifor j=1:Mu(i,j)=exp(-(x(i)-c(j,i))^2/b(j,i));endendfor i=1:Mw(i)=u(1,i)*u(2,i)*u(3,i)*u(4,i)*u(5,i)*u(6,i);endaddw=0;for i=1:Maddw=addw+w(i);endfor i=1:Myi(i)=p0_1(i)+p1_1(i)*x(1)+p2_1(i)*x(2)+p3_1(i)*x(3)+p4_1(i)*x(4)+p5_1(i)*x(5)+p6_1(i)*x(6);endaddyw=0;for i=1:Maddyw=addyw+yi(i)*w(i);end%计算输出szzb(k)=addyw/addw;endszzbz2=mapminmax('reverse',szzb,outputps);for i=1:mif szzbz2(i)<=1.5szpj2(i)=1;elseif szzbz2(i)>1.5&&szzbz2(i)<=2.5szpj2(i)=2;elseif szzbz2(i)>2.5&&szzbz2(i)<=3.5szpj2(i)=3;elseif szzbz2(i)>3.5&&szzbz2(i)<=4.5szpj2(i)=4;elseszpj2(i)=5;endend% %-----------------------------------大溪沟水厂-----------------------------------zssz=dxg;inputn_test =mapminmax('apply',zssz,inputps);[n,m]=size(zssz);for k=1:1:mx=inputn_test(:,k);%计算输出中间层for i=1:Ifor j=1:Mu(i,j)=exp(-(x(i)-c(j,i))^2/b(j,i));endendfor i=1:Mw(i)=u(1,i)*u(2,i)*u(3,i)*u(4,i)*u(5,i)*u(6,i);endaddw=0;for i=1:Maddw=addw+w(i);endfor i=1:Myi(i)=p0_1(i)+p1_1(i)*x(1)+p2_1(i)*x(2)+p3_1(i)*x(3)+p4_1(i)*x(4)+p5_1(i)*x(5)+p6_1(i)*x(6);endaddyw=0;for i=1:Maddyw=addyw+yi(i)*w(i);end%计算输出szzb(k)=addyw/addw;endszzbz3=mapminmax('reverse',szzb,outputps);for i=1:mif szzbz3(i)<=1.5szpj3(i)=1;elseif szzbz3(i)>1.5&&szzbz3(i)<=2.5szpj3(i)=2;elseif szzbz3(i)>2.5&&szzbz3(i)<=3.5szpj3(i)=3;elseif szzbz3(i)>3.5&&szzbz3(i)<=4.5szpj3(i)=4;elseszpj3(i)=5;endendfigure(3)plot(szzbz1,'o-r')hold onplot(szzbz2,'*-g')hold onplot(szzbz3,'*:b')xlabel('时间','fontsize',12)ylabel('预测水质','fontsize',12)legend('红工水厂','高家花园水厂','大溪沟水厂','fontsize',12)web browser Warning: Ignoring extra legend entries.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
该代码为基于模糊神经网络的水质评价代码清空环境变量参数初始化网络训练网络预测嘉陵江实际水质预测清空环境变量clcclear参数初始化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:maxgeniii;for k=1:mx=inputn(:,k);%输出层结算for i=1:Ifor j=1:Mu(i,j)=exp(-(x(i)-c(j,i))^2/b(j,i));endend%模糊规则计算for i=1:Mw(i)=u(1,i)*u(2,i)*u(3,i)*u(4,i)*u(5,i)*u(6,i);endaddw=sum(w);for i=1:Myi(i)=p0_1(i)+p1_1(i)*x(1)+p2_1(i)*x(2)+p3_1(i)*x(3)+p4_1(i)*x(4)+p5_1(i)*x(5)+p6_1(i)*x(6);endaddyw=yi*w';%网络预测计算yn(k)=addyw/addw;e(k)=outputn(k)-yn(k);%计算p的变化值d_p=zeros(M,1);d_p=xite*e(k)*w./addw;d_p=d_p';%计算b变化值d_b=0*b_1;for i=1:Mfor j=1:Id_b(i,j)=xite*e(k)*(yi(i)*addw-addyw)*(x(j)-c(i,j))^2*w(i)/(b(i,j)^2*addw^2);endend%更新c变化值for i=1:Mfor j=1:Id_c(i,j)=xite*e(k)*(yi(i)*addw-addyw)*2*(x(j)-c(i,j))*w(i)/(b(i,j)*addw^2);endendp0=p0_1+ d_p+alfa*(p0_1-p0_2);p1=p1_1+ d_p*x(1)+alfa*(p1_1-p1_2);p2=p2_1+ d_p*x(2)+alfa*(p2_1-p2_2);p3=p3_1+ d_p*x(3)+alfa*(p3_1-p3_2);p4=p4_1+ d_p*x(4)+alfa*(p4_1-p4_2);p5=p5_1+ d_p*x(5)+alfa*(p5_1-p5_2);p6=p6_1+ d_p*x(6)+alfa*(p6_1-p6_2);b=b_1+d_b+alfa*(b_1-b_2);c=c_1+d_c+alfa*(c_1-c_2);p0_2=p0_1;p0_1=p0;p1_2=p1_1;p1_1=p1;p2_2=p2_1;p2_1=p2;p3_2=p3_1;p3_1=p3;p4_2=p4_1;p4_1=p4;p5_2=p5_1;p5_1=p5;p6_2=p6_1;p6_1=p6;c_2=c_1;c_1=c;b_2=b_1;b_1=b;endE(iii)=sum(abs(e));endfigure(1);plot(outputn,'r')hold onplot(yn,'b')hold onplot(outputn-yn,'g');legend('实际输出','预测输出','误差','fontsize',12)title('训练数据预测','fontsize',12)xlabel('样本序号','fontsize',12)ylabel('水质等级','fontsize',12)Warning: Ignoring extra legend entries.网络预测%数据归一化inputn_test=mapminmax('apply',input_test,inputps);[n,m]=size(inputn_test)for k=1:mx=inputn_test(:,k);%计算输出中间层for i=1:Ifor j=1:Mu(i,j)=exp(-(x(i)-c(j,i))^2/b(j,i));endendfor i=1:Mw(i)=u(1,i)*u(2,i)*u(3,i)*u(4,i)*u(5,i)*u(6,i);endaddw=0;for i=1:Maddw=addw+w(i);endfor i=1:Myi(i)=p0_1(i)+p1_1(i)*x(1)+p2_1(i)*x(2)+p3_1(i)*x(3)+p4_1(i)*x(4)+p5_1(i)*x(5)+p6_1(i)*x(6);endaddyw=0;for i=1:Maddyw=addyw+yi(i)*w(i);end%计算输出yc(k)=addyw/addw;end%预测结果反归一化test_simu=mapminmax('reverse',yc,outputps);%作图figure(2)plot(output_test,'r')hold onplot(test_simu,'b')hold onplot(test_simu-output_test,'g')legend('实际输出','预测输出','误差','fontsize',12)title('测试数据预测','fontsize',12)xlabel('样本序号','fontsize',12)ylabel('水质等级','fontsize',12)n =6m =50Warning: Ignoring extra legend entries.嘉陵江实际水质预测load data2 hgsc gjhy dxg%-----------------------------------红工水厂----------------------------------- zssz=hgsc;%数据归一化inputn_test =mapminmax('apply',zssz,inputps);[n,m]=size(zssz);for k=1:1:mx=inputn_test(:,k);%计算输出中间层for i=1:Ifor j=1:Mu(i,j)=exp(-(x(i)-c(j,i))^2/b(j,i));endendfor i=1:Mw(i)=u(1,i)*u(2,i)*u(3,i)*u(4,i)*u(5,i)*u(6,i);endaddw=0;for i=1:Maddw=addw+w(i);endfor i=1:Myi(i)=p0_1(i)+p1_1(i)*x(1)+p2_1(i)*x(2)+p3_1(i)*x(3)+p4_1(i)*x(4)+p5_1(i)*x(5)+p6_1(i)*x(6);endaddyw=0;for i=1:Maddyw=addyw+yi(i)*w(i);end%计算输出szzb(k)=addyw/addw;endszzbz1=mapminmax('reverse',szzb,outputps);for i=1:mif szzbz1(i)<=1.5szpj1(i)=1;elseif szzbz1(i)>1.5&&szzbz1(i)<=2.5szpj1(i)=2;elseif szzbz1(i)>2.5&&szzbz1(i)<=3.5szpj1(i)=3;elseif szzbz1(i)>3.5&&szzbz1(i)<=4.5szpj1(i)=4;elseszpj1(i)=5;endend% %-----------------------------------高家花园-----------------------------------zssz=gjhy;inputn_test =mapminmax('apply',zssz,inputps);[n,m]=size(zssz);for k=1:1:mx=inputn_test(:,k);%计算输出中间层for i=1:Ifor j=1:Mu(i,j)=exp(-(x(i)-c(j,i))^2/b(j,i));endendfor i=1:Mw(i)=u(1,i)*u(2,i)*u(3,i)*u(4,i)*u(5,i)*u(6,i);endaddw=0;for i=1:Maddw=addw+w(i);endfor i=1:Myi(i)=p0_1(i)+p1_1(i)*x(1)+p2_1(i)*x(2)+p3_1(i)*x(3)+p4_1(i)*x(4)+p5_1(i)*x(5)+p6_1(i)*x(6);endaddyw=0;for i=1:Maddyw=addyw+yi(i)*w(i);end%计算输出szzb(k)=addyw/addw;endszzbz2=mapminmax('reverse',szzb,outputps);for i=1:mif szzbz2(i)<=1.5szpj2(i)=1;elseif szzbz2(i)>1.5&&szzbz2(i)<=2.5szpj2(i)=2;elseif szzbz2(i)>2.5&&szzbz2(i)<=3.5szpj2(i)=3;elseif szzbz2(i)>3.5&&szzbz2(i)<=4.5szpj2(i)=4;elseszpj2(i)=5;endend% %-----------------------------------大溪沟水厂-----------------------------------zssz=dxg;inputn_test =mapminmax('apply',zssz,inputps);[n,m]=size(zssz);for k=1:1:mx=inputn_test(:,k);%计算输出中间层for i=1:Ifor j=1:Mu(i,j)=exp(-(x(i)-c(j,i))^2/b(j,i));endendfor i=1:Mw(i)=u(1,i)*u(2,i)*u(3,i)*u(4,i)*u(5,i)*u(6,i);endaddw=0;for i=1:Maddw=addw+w(i);endfor i=1:Myi(i)=p0_1(i)+p1_1(i)*x(1)+p2_1(i)*x(2)+p3_1(i)*x(3)+p4_1(i)*x(4)+p5_1(i)*x(5)+p6_1(i)*x(6);endaddyw=0;for i=1:Maddyw=addyw+yi(i)*w(i);end%计算输出szzb(k)=addyw/addw;endszzbz3=mapminmax('reverse',szzb,outputps);for i=1:mif szzbz3(i)<=1.5szpj3(i)=1;elseif szzbz3(i)>1.5&&szzbz3(i)<=2.5szpj3(i)=2;elseif szzbz3(i)>2.5&&szzbz3(i)<=3.5szpj3(i)=3;elseif szzbz3(i)>3.5&&szzbz3(i)<=4.5szpj3(i)=4;elseszpj3(i)=5;endendfigure(3)plot(szzbz1,'o-r')hold onplot(szzbz2,'*-g')hold onplot(szzbz3,'*:b')xlabel('时间','fontsize',12)ylabel('预测水质','fontsize',12)legend('红工水厂','高家花园水厂','大溪沟水厂','fontsize',12)web browser Warning: Ignoring extra legend entries.。