FIS构建实例:数据驱动与减法聚类生成FIS结构

需积分: 7 0 下载量 28 浏览量 更新于2024-07-20 收藏 134KB DOCX 举报
FIS (Fuzzy Inference System) 是一种基于模糊逻辑的决策系统,常用于解决具有不确定性和模糊性的实际问题。在这个文件中,我们关注两个FIS结构生成函数:`genfis1` 和 `genfis2`,它们在MATLAB环境下用于不同类型的FIS结构初始化。 1. 函数 `genfis1` 的使用: - 这个函数用于根据输入数据`data`生成一个Sugeno型FIS结构。`data` 应该是一个矩阵,其中除了最后一列是输出数据,其余列是输入数据。`numMFs` 参数是一个向量,定义了每个输入变量的隶属函数数量,如果所有输入需要相同的数量,可以使用标量。`inmftype` 和 `outmftype` 分别是字符串数组,用于指定输入和输出变量的隶属函数类型,如PIMF(Piecewise Inverse Multiplication Function)和TRIMF(Triangular Membership Function)。 示例中,通过随机生成的数据构建了一个FIS结构,并分别绘制了输入1和输入2的隶属函数。 2. 函数 `genfis2` 的应用: - 与 `genfis1` 不同,`genfis2` 使用减法聚类方法来生成FIS结构。参数`Xin` 是输入数据矩阵,`Xout` 是输出数据矩阵,`radii` 指定了聚类中心在数据维度上的作用范围。如果提供了额外的`xBounds` 参数,可以指定输入变量的边界。如果还有`options` 参数,可能包含进一步的配置选项,比如聚类算法的设置。 该函数的主要目的是通过聚类技术将数据点分组,然后根据这些簇来设计FIS的规则和结构。这种方法有助于减少FIS的复杂性,同时尽可能地保持对数据分布的理解。 总结来说,这两个函数在FIS结构生成中扮演了关键角色,`genfis1` 更注重根据输入数据特性自动生成FIS,而`genfis2` 则依赖于聚类分析来指导FIS的设计。在实际应用中,选择哪种方法取决于数据的特性和解决问题的需求。理解并掌握这些函数的用法对于有效使用FIS进行数据分析和决策支持至关重要。