m基于MATLAB和simulink实现模糊控制器以及模糊神经网络控制器

简介: m基于MATLAB和simulink实现模糊控制器以及模糊神经网络控制器

1.算法仿真效果
matlab2017b仿真结果如下:

2103bb92f1801dee34ba6aae3bd597e1_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
16c7f5afbcd100443878d1d7059a0c22_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
b4a2edcc02ab1ae7fb4fd4cd9204ac88_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
928579542a29eee294eb3bc509d8953f_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
8a36243a8c3ab8aaaaa1f2492fa3059d_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
1659060b71f703098994631eca200b69_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
a013e1ba6e3d6762050cc405992f1fc2_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.算法涉及理论知识概要

    模糊神经网络控制在控制领域里目前已经成为一个研究热点,其原因在于两者之间的互补性质。神经网络和模糊系统均属于无模型的估计器和非线性动力学系统,也是一种处理不确定性、非线性和其它不确定问题(ill-posed problem)的有力工具。但两者之间的特性却存在很大的差异.模糊系统中知识的抽取和表达比较方便,它比较适合于表达那些模糊或定性的知识,其推理方式比较类似于人的思维模式。但是一般说来模糊系统缺乏自学习和自适应能力,要设计和实现模糊系统的自适应控制是比较困难的。而神经网络则可直接从样本中进行有效的学习,它具有并行计算、分布式信息存贮、容错能力强以及具备自适应学习功能等一系列优点。正是由于这些优点,神经网络的研究受到广泛的关注并吸引了许多研究工作者的兴趣。

   在模糊系统中,模糊模型的表示主要有两种:一种是模糊规则的后件是输出量的某一模糊集合,称它为模糊系统的标准模型或Mamdani模型表示;另一种是模糊规则的后件是输入语言变量的函数,典型的情况是输入变量的线性组合,称它为模糊系统的Takagi—Sugeno模型。下面首先讨论基于Mamdani模型的模糊神经网络。

   对于多输入多输出(MIMO)的模糊规则可以分解为多个多输入单输出(MISO)的模糊规则。因此不失一般性,下面只讨论MISO模糊系统。 图为一基于标准模型的MISO模糊系统的原理结构图。其中χRn,yR。如果该模糊系统的输出作用于一个控制对象,那么它的作用便是一个模糊逻辑控制器。否则,它可用于模糊逻辑决策系统、模糊逻辑诊断系统等其它方面。

设输入向量X = [x1 x2 …xn]T,每个分量xi均为模糊语言变量,并设:

                  T(xi) = {Ai1,Ai2,…,Aimi}  i = 1,2,…,n

  其中,Aij (j = 1,2,…,mi)是xi的第j个语言变量值,它是定义在论域Ui上的一个模糊集合。相应的隶属度函数为μA i j (xi)(i = 1,2,…,n;j = 1,2,…,mi)。

 输出量y也为模糊语言变量且T(y) = {B1,B2,…,Bmy}。其中Bj(j = 1,2,…,my)是y的第j个语言变量值,它是定义在论域Uy上的模糊集合。相应的隶属度函数为μB j(y)。

 由于计算上式的积分很麻烦,实际计算时通常用下面的近似公式

049c557979a15e614409952a4bbf0719_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

   根据上面给出的模糊系统的模糊模型,可设计出如图6-2所示的模糊神经网络结构。图中所示为MIMO系统,它是上面所讨论的MISO情况的简单推广。

2bd10f560a889c3b9c6aa5ac7af8782a_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

     模糊神经网络虽然也是局部逼近网络,但是它是按照模糊系统模型建立的,网络中的各个节点及所有参数均有明显的物理意义,因此这些参数的初值可以根据系统的模糊或定性的知识来加以确定,然后利用上述的学习算法可以很快收敛到要求的输入输出关系,这是模糊神经网络比前面单纯的神经网络的优点所在。同时由于它具有神经网络的结构,因而参数的学习和调整比较容易,这是它比单纯的模糊逻辑系统的优点所在。

   基于Takagi-Sugeno模型的模糊神经网络可以从另一角度来认识它的输入输出映射关系,若各输入分量的分割是精确的,即相当于隶属度函数为互相拼接的超矩形函数,则网络的输出相当于是原光滑函数的分段线性近似,即相当于用许多块超平面来拟合一个光滑曲面。网络中的  参数便是这些超平面方程的参数,这样只有当分割越精细时,拟合才能越准确。而实际上这里的模糊分割互相之间是有重叠的,因此即使模糊分割数不多,也能获得光滑和准确的曲面拟合。

3.MATLAB核心程序
4c2a1a39d63305b32f0bee5ab8fcdad6_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
a90bb99b1fe5ac789300ab3b0cfc781c_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

[x2,mf2] = plotmf(patient,'input',2);
[x3,mf3] = plotmf(patient,'input',3);
[x4,mf4] = plotmf(patient,'input',4);
[x5,mf5] = plotmf(patient,'input',5);
gensurf(patient);
showrule(patient);
figure
plot(x1,mf1);
 
%Mean Absolute Error
%Mean Absolute Error
%Mean Absolute Error
ty = evalfis(T(:,1:5),patient);
cy = evalfis(C(:,1:5),patient);
 
t_error = ty - T(:,6);
c_error = cy - C(:,6);
 
Mean_ABS_training_Error = mae(t_error)
Mean_ABS_Checking_Error = mae(c_error)
 
figure;
plot(ty,'b-o');hold on;
plot(T(:,6),'r -*');
grid on;
 
figure;
plot(cy,'b-o');hold on;
plot(C(:,6),'r -*');
grid on;
相关文章
|
23小时前
|
机器学习/深度学习 存储 算法
基于SFLA算法的神经网络优化matlab仿真
**摘要:** 使用MATLAB2022a,基于SFLA算法优化神经网络,降低训练误差。程序创建12个神经元的前馈网络,训练后计算性能。SFLA算法寻找最优权重和偏置,更新网络并展示训练与测试集的预测效果,以及误差对比。SFLA融合蛙跳与遗传算法,通过迭代和局部全局搜索改善网络性能。通过调整算法参数和与其他优化算法结合,可进一步提升模型预测精度。
|
5天前
|
机器学习/深度学习 算法 数据可视化
基于BP神经网络的64QAM解调算法matlab性能仿真
**算法预览图省略** MATLAB 2022A版中,运用BP神经网络进行64QAM解调。64QAM通过6比特映射至64复数符号,提高数据速率。BP网络作为非线性解调器,学习失真信号到比特的映射,对抗信道噪声和多径效应。网络在处理非线性失真和复杂情况时展现高适应性和鲁棒性。核心代码部分未显示。
|
8天前
|
机器学习/深度学习 算法 数据可视化
m基于PSO-LSTM粒子群优化长短记忆网络的电力负荷数据预测算法matlab仿真
在MATLAB 2022a中,应用PSO优化的LSTM模型提升了电力负荷预测效果。优化前预测波动大,优化后预测更稳定。PSO借鉴群体智能,寻找LSTM超参数(如学习率、隐藏层大小)的最优组合,以最小化误差。LSTM通过门控机制处理序列数据。代码显示了模型训练、预测及误差可视化过程。经过优化,模型性能得到改善。
28 6
|
6天前
|
缓存 算法
基于机会网络编码(COPE)的卫星网络路由算法matlab仿真
**摘要:** 该程序实现了一个基于机会网络编码(COPE)的卫星网络路由算法,旨在提升无线网络的传输效率和吞吐量。在MATLAB2022a中测试,结果显示了不同数据流个数下的网络吞吐量。算法通过Dijkstra函数寻找路径,计算编码机会(Nab和Nx),并根据编码机会减少传输次数。当有编码机会时,中间节点执行编码和解码操作,优化传输路径。结果以图表形式展示,显示数据流与吞吐量的关系,并保存为`R0.mat`。COPE算法预测和利用编码机会,适应卫星网络的动态特性,提高数据传输的可靠性和效率。
|
13天前
|
机器学习/深度学习 算法
基于BP神经网络和小波变换特征提取的烟草香型分类算法matlab仿真,分为浓香型,清香型和中间香型
```markdown 探索烟草香型分类:使用Matlab2022a中的BP神经网络结合小波变换。小波分析揭示香气成分的局部特征,降低维度,PCA等用于特征选择。BP网络随后处理这些特征,以区分浓香、清香和中间香型。 ```
|
18天前
|
传感器 算法 安全
基于WSN网络的定向步幻影路由算法matlab仿真
该文探讨了无线传感器网络中的位置隐私保护,对比了NDRW路由与定向步幻影路由在安全时间和能耗方面的性能。在MATLAB2022a中进行测试,结果显示NDRW路由提供最长的安全时间,尤其在长距离传输时,且在近距离下能耗低于幻影路由。幻影路由虽消耗更多能量,但通过随机步创造幻影源以增强安全性。NDRW路由利用非确定性随机游走策略,避免拥堵并提高效率,而幻影路由则引入方向性控制,通过启发式算法优化路径选择。
|
22天前
|
机器学习/深度学习 算法 计算机视觉
基于CNN卷积神经网络的金融数据预测matlab仿真,带GUI界面,对比BP,RBF,LSTM
这是一个基于MATLAB2022A的金融数据预测仿真项目,采用GUI界面,比较了CNN、BP、RBF和LSTM四种模型。CNN和LSTM作为深度学习技术,擅长序列数据预测,其中LSTM能有效处理长序列。BP网络通过多层非线性变换处理非线性关系,而RBF网络利用径向基函数进行函数拟合和分类。项目展示了不同模型在金融预测领域的应用和优势。
|
1天前
|
机器学习/深度学习 算法 数据可视化
基于googlenet深度学习网络的睁眼闭眼识别算法matlab仿真
**算法预览图展示睁眼闭眼识别效果;使用Matlab2022a,基于GoogLeNet的CNN模型,对图像进行分类预测并可视化。核心代码包括图像分类及随机样本显示。理论概述中,GoogLeNet以高效Inception模块实现眼部状态的深度学习识别,确保准确性与计算效率。附带三张相关图像。**
|
2天前
|
机器学习/深度学习 算法
基于RBF神经网络的自适应控制器simulink建模与仿真
使用MATLAB2022a,开发了一个基于RBF神经网络的自适应控制器Simulink S函数,进行了控制仿真。核心程序展示了RBF网络的权重和参数调整。测试结果显示了控制效果。RBF网络是一种三层前馈网络,利用高斯函数处理非线性系统。自适应控制器通过在线调整参数应对系统变化。网络学习分为自组织和有导师两个阶段,通过误差信号调整权重,确保系统稳定性。
|
27天前
|
机器学习/深度学习 存储 算法
基于CNN+LSTM深度学习网络的时间序列预测matlab仿真,并对比CNN+GRU网络
该文介绍了使用MATLAB2022A进行时间序列预测的算法,结合CNN和RNN(LSTM或GRU)处理数据。CNN提取局部特征,RNN处理序列依赖。LSTM通过门控机制擅长长序列,GRU则更为简洁、高效。程序展示了训练损失、精度随epoch变化的曲线,并对训练及测试数据进行预测,评估预测误差。