- 𝛌-截矩阵 根据模糊等价矩阵,建立𝛌-截矩阵,按𝛌由大到小进行聚类,编写jjz4函数,代码如下:
function[D, k] = jjz4(b)
L = unique(b)';
a = size(b);
D = zeros(a);
for m = length(L): -1 : 1
k = L(m);
for i = 1: a
for j = 1: a
if b(i, j) >= k
D(i, j) = 1;
else
D(i, j) = 0;
end
end
end
B = unique(D, 'rows');
[hei] = size(B);
for j = 1: hei
eval(['L', num2str(j) '= [];'])
end
for i = a: -1: 1
for j = 1: hei
if D(i, :) == B(j, :)
p = eval(['L', num2str(j);]);
p = [['x', num2str(i), ' '] p];
eval(['L', num2str(j) '= p;']);
end
end
end
fprintf("当分类系数k=%5.4f时,", L(m));
fprintf("所得截距阵为:\n\n");
disp(D);
fprintf("分类结果为:\n");
for j = 1: hei
fprintf("第%d类:", j);
disp(eval(['L', num2str(j);]));
end
fprintf("\n");
end
end
输入jjz4(m0)调用该函数,为了便于看到所有的结果,先将显示截距阵的一行代码注释掉,运行得到所有分类结果如下图。
图3.1 所有分类结果 选取𝛌 = 0.8791时函数得到的截距阵及分类结果图如下。Original: https://blog.csdn.net/qq_36949278/article/details/121051493
Author: lazyn
Title: MATLAB实现智能计算方法实验:实验一 模糊聚类分析
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/650149/
转载文章受原作者版权保护。转载请注明原作者出处!