MATLAB-模型模糊神经网络预测控制demo

这篇博客介绍了如何在MATLAB中使用genfis2和anfis进行模糊神经网络预测控制。genfis2利用减法聚类方法从数据生成FIS结构,而anfis是自适应神经模糊推理系统的DEMO。博客提供了相关函数的用法,并给出了预测误差和参考资源。
摘要由CSDN通过智能技术生成

减法聚类方法从数据生成FIS结构 genfis2
tripdata
figure,plot(datin)
a=genfis2(datin,datout,0.45);
figure,plotfis(a);
figure
fuzout=evalfis(datin,a);
subplot(2,1,1)
plot(datin)
subplot(2,1,2)
plot([datout fuzout])
figure,plot(datout,fuzout,'bx',[0 10],[0 10],'r:')
xlabel('Actual Value')
ylabel('Predicted Value')
axis square

chkfuzout=evalfis(chkdatin,a);%未定义chkdatin
figure,plot(chkdatout,chkfuzout,'bx',[0 10],[0 10],'r:')
axis square
xlabel('Actual Value')
ylabel('Predicted Value')


genfis2 使用减法聚类方法从数据生成FIS结构
fismat = genfis2(Xin,Xout,radii)
Xin是一个矩阵,它的每一行包含一个数据点的输入值;Xout是一个矩阵,它的每一行包含一个数据点的输出值;randi是一个向量,它指定一个聚类中心在一个数据维上作用的范围,这里假定数据位于一个单位超立方体内


genfis1 不使用数据聚类方法从数据生成FIS结构
fismat = genfis1(data)
genfis1为an fis训练生成一个Sugeno型作为初始条件的FIS结构(初始隶属函数)


plotfis(fismat)
此函数显示由fismat指定的一个FIS的高层方框图,输入和它们的隶属函数出现在结构特征图的左边,同时输出和它们的隶属函数出现在结构特征图的右边。


evalfis 完成模糊推理计算
output= evalfis(input,fismat)
input:指定输入值的一个数或一个矩阵,如果输入是一个M×N矩阵,其中N是输入变量数,那么evalfis使用 input的每一行作为一个输入向量,并且为变量output返回M×L矩阵,该矩阵每一行是一个向量并且L是输出变量数;
fismat:要计算的一个FIS结构;


在这里插入图片描述
在这里插入图片描述

自适应神经模糊推理系统DEMO:anfis

anfis:Adaptive Neural Network Based Fuzzy Interference System

% The Mackey-Glass time-delay differential equation is defined by dx(t)/dt = 0.2x(t-tau)/(1+x(t-tau)^10) - 0.1x(t)
% When x(0) = 1.2 and tau = 17, we have a non-periodic and non-convergent time series that is very sensitive to initial conditions. (We assume x(t) = 0 when t < 0.) 

load mgdata.dat%Mackey-Glass 时间序列
a=mgdata;
time = a(:, 1);
ts 
  • 4
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值