资源链接

MATLAB实现智能计算方法课程所有实验代码资源链接为:MATLAB实现智能计算方法课程所有实验代码资源

实验汇总

MATLAB实现智能计算方法课程所有实验汇总博客链接为:MATLAB实现智能计算方法实验汇总

实验目的

  1. 掌握数据文件的标准化、模糊相似矩阵的建立方法、学会传递闭包矩阵的求解方法;
  2. 学会使用MATLAB软件(Python)进行模糊矩阵的编程运算和仿真,实现模糊聚类分析。

实验内容

  1. 根据下面表格中的数据,用Matlab(或Python)编程进行数据标准化处理;

  2. 根据标准化处理后的数据,用Matlab(或Python)编程,建立模糊相似矩阵,并编程求出其传递闭包矩阵;

  3. 根据模糊等价矩阵,编程绘制动态聚类图;

  4. 根据原始数据,编程确定最佳分类结果。

    no Y1 Y2 Y3 Y4 Y5 Y6
    x1 21 63 19 40 1.567 106
    x2 23 74 30 75 2.693 54
    x3 119 179 86 118 6.897 9
    x4 115 168 49 89 2.637 29
    x5 79 146 46 92 2.356 24
    x6 79 158 48 103 2.142 7
    x7 65 114 58 99 2.679 7
    x8 68 119 58 96 3.099 6
    x9 109 166 59 95 2.868 6
    x10 118 177 56 89 2.64 7

实验步骤

1. 标准化处理

  • 建立原始数据矩阵

    依据题意,建立10×6的原始矩阵A,在matlab中表示如下图:

    图1.1 原始数据矩阵

  • 数据规格化

    对原始矩阵应用极差正规化方法进行数据规格化,运用matlab编写fuzz函数,代码如下:

    function n = fuzz(A)
    [hei, wid] = size(A);n = zeros(hei, wid);for i = 1: heifor j = 1: widn(i, j) = (A(i, j) - min(A(:, j)))/(max(A(:, j)) - min(A(:,j)));endendend
    

    在命令行输入n = fuzz(A)调用该函数,得到数据矩阵n如下图。

    图1.2 数据规格化

2. 建立模糊等价矩阵

  • 建立模糊相似矩阵

    对数据矩阵应用最大最小法得到模糊相似矩阵,编写fuzzs函数,代码如下:

    function m = fuzzs(n)
    [hei, wid] = size(n);m = zeros(hei, hei);for i = 1: heifor j = 1: heimaxnum = 0;minnum = 0;for k = 1: widmaxnum = maxnum + max(n(i, k), n(j, k));minnum = minnum + min(n(i, k), n(j, k));endm(i, j) = minnum/maxnum;endendend
    

    在命令行输入m = fuzzs(n)调用该函数,得到模糊相似矩阵m如下图。

    图2.1 模糊相似矩阵

  • 建立模糊等价矩阵

    应用传递闭包方法将模糊相似矩阵转化为模糊等价矩阵,编写synt函数,代码如下:

    function ab = synt(a)
    [hei, wid] = size(a);
    ab = zeros(hei, wid);
    flag = 0;
    while(flag == 0) m = size(a, 1);n = size(a, 2);for i = 1: mfor j = 1 :n ab(i, j) = max(min([a(i, :);a(:, j)']));endendif(ab == a)flag = 1;elsea = ab;end
    end
    end
    

    输入m0 = synt(m)调用该函数,得到模糊等价矩阵m0如下图。

    图2.2 模糊等价矩阵

3. 动态聚类