基于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,...,xNT,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)

相关推荐
严肃小白兔1 天前
优秀 MATLAB 作者、书籍推荐:国外经典教材与技术资源整理
matlab
AI的探索之旅2 天前
OpenCV Day40 —— K-means 聚类与 EM 高斯混合
opencv·kmeans·聚类
熊猫_豆豆2 天前
buck-boost电路MATLAB仿真
matlab·电路·电力电子技术
逆向编程3 天前
MATLAB高级数据结构:cell、struct与table深度应用
开发语言·数据结构·matlab
星夜离尘563 天前
MATLAB 刚体坐标变换:点、方向和逆变换为什么不能混用
matlab
Evand J4 天前
【PMSM滤波例程2】PMSM未知负载转矩观测EKF。MATLAB例程(负载增广EKF与实际仿真结果)。附下载链接
开发语言·matlab·电机
机器学习之心4 天前
基于贝叶斯物理信息神经网络的矿产预测与不确定性量化,MATLAB代码及复现报告
人工智能·神经网络·matlab·贝叶斯物理信息神经网络
Evand J5 天前
【PMSM例程4】PMSM电阻辨识与模型补偿EKF,MATLAB例程。附下载链接,包运行成功
开发语言·matlab·电机·ekf·卡尔曼·pmsm
slandarer5 天前
MATLAB | 文艺复兴:万圣节使用 MATLAB 绘制黑人抬棺动画
matlab·黑人抬棺
CS创新实验室5 天前
没有标签的数据,怎么“自动分成几堆“?——K-means 聚类的原理与坑
人工智能·kmeans·聚类