基于FCM聚类法和LS最小二乘法的T-S模糊模型参数辨识matlab仿真

目录

1.引言

2.算法测试效果

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

[3.1 确定T-S模糊模型结构](#3.1 确定T-S模糊模型结构)

[3.2 FCM聚类辨识前件参数](#3.2 FCM聚类辨识前件参数)

[3.3 LS法辨识后件参数](#3.3 LS法辨识后件参数)

4.MATLAB核心程序

5.完整算法代码文件获得


1.引言

T-S模糊模型通过"前件模糊划分+后件线性拟合"实现非线性系统建模,其参数辨识分为两部分:前件参数(模糊子集的隶属度与聚类中心)采用FCM模糊C均值聚类法辨识,利用软聚类特性完成输入空间的最优模糊划分;后件参数(线性规则的系数)采用LS最小二乘法辨识,通过最小化输出误差平方和实现线性参数的最优估计。

2.算法测试效果

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

T-S模糊模型的参数辨识是指根据系统的输入以及系统的输出来确定模型的参数,包括前件结构、前件参数以及后件参数等。使得所建立的模型输出和实际的系统输出之间的误差达到最小值等。其中,T-S模糊模型的前件参数辨识主要对模糊隶属函数的参数进行辨识,使得辨识模型的输出和实际的输出误差达到最小,常见的参数辨识方法包括FCM聚类算法。后件结构辨识主要功能是确定每条规则所对应的系数,一般采用最小二乘法进行辨识,其计算量较大。

模型的参数辨识分为两个独立且互补的环节:

**前件参数辨识:**采用FCM(模糊C均值)聚类算法,对输入样本空间进行软划分,确定模糊规则前件的隶属度函数参数(隶属度矩阵、聚类中心),实现输入变量的模糊分类,对应模型的模糊推理部分。

**后件参数辨识:**采用LS(最小二乘)法,将模糊规则的后件线性输出转化为线性方程组,通过最小化模型输出与实际输出的误差平方和,求解后件的线性系数参数,保证模型的拟合精度。 该方法结合了FCM聚类的模糊划分能力与LS法的线性最优估计特性,在非线性系统建模中兼具柔性与精度。

3.1 确定T-S模糊模型结构

3.2 FCM聚类辨识前件参数

给定输入样本集X=[x1,x2,...,xN]T,FCM通过迭代优化实现c类聚类(对应c条规则),输出聚类中心与样本隶属度。

定义FCM目标函数

迭代更新隶属度与聚类中心

3.3 LS法辨识后件参数

将模型输出转化为线性形式,通过LS法最小化输出误差,求解后件参数P。

将辨识得到的前件与后件参数代入T-S模型,输入测试样本得到模型输出,通过均方误差等指标验证建模精度,完成参数辨识。

4.MATLAB核心程序

复制代码
........................................................
%前-参数辨识
[center,U,obj_fcn] = IFP_FCM(x,c,options);
...................................................................
%LS参数
a=inv(xx'*xx)*xx'*y;

%计算T-S模糊模型输出序列
y_d = xx*a;

t   = 1:n;  %生成时间序列

err(idx,kk)=mean2(abs(y(:,1)-y_d(:,1))+abs(y(:,2)-y_d(:,2))+abs(y(:,3)-y_d(:,3))+abs(y(:,4)-y_d(:,4)));
end
end

figure;
plot(iters,mean(err,2),'-r>',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.9,0.9,0.0]);
grid on 
xlabel('不同迭代次数');
ylabel('TS模糊模型辨识误差');
08_093m

5.完整算法代码文件获得

完整程序见博客首页左侧或者打开本文底部

V

(V关注后回复码:X112)

相关推荐
leo__5208 小时前
拉丁超立方抽样(Latin Hypercube Sampling, LHS)MATLAB实现
开发语言·matlab
dr_yingli10 小时前
fMRI(3-1)报告(个体化报告)生成器说明
开发语言·matlab
我爱C编程12 小时前
基于Qlearning强化学习的多基站分簇拓扑控制算法matlab仿真
matlab·强化学习·qlearning·多基站·分簇拓扑控制
步达硬件13 小时前
【MATLAB】读取视频,提取视频每一帧特征值并存成EXCEL,并保存个别图像
matlab·excel·音视频
dr_yingli13 小时前
fMRI(4-1)统计分析报告生成器说明
开发语言·matlab
简简单单做算法14 小时前
【第2章>第2节】基于FPGA的图像双线性插值实现——理论分析与MATLAB仿真
matlab·fpga·图像双线性插值
kishu_iOS&AI14 小时前
机器学习 —— 聚类算法
人工智能·算法·机器学习·聚类
xrgs_shz1 天前
直方图法、最大类间方差法、迭代法和自适应阈值法的图像分割的基本原理和MATLAB实现
人工智能·计算机视觉·matlab
hoiii1871 天前
CSTR反应器模型的Simulink-PID仿真(MATLAB实现)
开发语言·matlab
Evand J1 天前
【MATLAB例程】基于低精度IMU、GNSS的UAV初始航向(三维角度)校准的仿真,包含卡尔曼滤波、惯导解算与校正
开发语言·matlab·gnss·imu·卡尔曼滤波