Beispiel #1
0
 def Open_File(self):
     # 打开文件对话框并获取文件名, 只允许打开.txt文件
     filename = QFileDialog.getOpenFileName(self, '选取文本文件', "./",
                                            "Text Files (*.txt)")[0]
     if filename != '':  # 若获取的文件名不为空则执行读取操作
         data = fo.Read2Array(filename, False)[0]  # 将数据文件中内容以保留第一行的形式读取为矩阵
         self.data = fo.Read2Array(filename,
                                   True)[0]  # 将数据文件中内容以不保留第一行的形式读取为全局数据矩阵
         self.pendingData = fo.Array2Str(data)  # 将转换为字符串格式的矩阵数据保存进预处理变量
         data = fo.Array2Str(data)  # 将矩阵转换为字符串格式
         self.Data.setPlainText(data)  # 显示矩阵
Beispiel #2
0
    def Martix_Operation(self):
        # 执行矩阵运算前判断是否已读入数据文件
        if self.data is None:
            self.Data.setText('请先导入文件')
            return False

        result = ''  # 定义结果变量
        # 建立模糊聚类矩阵对象
        dist = self.Choose_Dist()
        operation = self.Choose_Operation()
        self.fcm = fc.Fuzzy_Clustering(self.data, dist, operation)
        # 判断是否显示并保存中间过程
        if self.Process.isChecked():
            result += fo.Proset2Str(self.fcm.proSet)
        # 对结果变量赋值并显示
        result += '等价模糊矩阵:\n' + fo.Array2Str(self.fcm.efMatrix)
        self.Fmatrix.setPlainText(result)
        self.efMatrix = result  # 将结果写进全局等价模糊矩阵变量
        # 绘制散点图
        self.figure.plotScatter(self.fcm.CutSet_Iteration())  # 执行散点图绘制函数
        self.gridlayout = QGridLayout(self.MatPlot)  # 重定义MatPlot部件所在位置
        self.gridlayout.addWidget(self.figure, 0, 1)  # 将重定义的位置替换为散点图