matlab 求解矩阵的范式,范式计算器matlab代码

范式计算器matlab代码

范式计算器matlab代码

原理介绍本算法是采用真值表法计算的,计算出输入范式的真值表,和对应的最小项以及最大项,然后根据真值表确定主析取和主合取范式,具体流程图如下。matlab 求解矩阵的范式,范式计算器matlab代码_第1张图片

这个算法的原理在于用户在界面上输入想要转换的范式之后,程序会将这个范式读入并保存为String类型,当我们接收到这个范式之后,首先会对这个范式的输入位数进行判断。

然后为了能够方便接下来的转换和操作,我们首先将命题变项进行了替换,这个做法极大的简化了真值表的求取和最大项、最小项的确定。然后根据我们之前判断出来的位数,和我们替换之后的新的命题变项我们就可以确定出最小项和最大项了,并将其分别保存在名为min和max的string数组里

然后就是求出对应范式的真值表了,对于真值表的求取,我们需要首先对算式进行转换,这也是这个程序的核心内容,我通过对于不同的符号进行不同的判断,将我输入的范式转换成了逻辑算式,具体转换方法可以参照conventor.m,在这里我们就不再赘述。求出逻辑算式后,我们就能够通过对于命题变项的不同赋值,求出对应的真值表。

有了真值表和最大项、最小项之后,我们就可以开始计算程序的主析取和主合取范式了。这里采用的做法是根据真值表的结果,对字符串进行拼接,具体的程序实现可以去看output.m。到这里我们就已经得到了输入范式的主析取和主合取范式啊,最后需要做的就是将命题变项替换成用户输入的命题变项,然后输出到界面就可以了。

使用说明

文件由几个matlab文件组成,分别有着不同的作用brackets是用来识别出输入范式的括号并对位置进行标记的。

match是用来计算出对应的真值表的。

conventer是用来对输入范式进行转换以方便后期处理。

Output是根据真值表来计算出输出的主析取和主合取范式。     test是我编写的GUI文件,方便用户的输入。     main是我们程序的主函数,通过它调用其他函数,来达到我们想要的结果    使用的时候,将这几个文件放到同一个文件夹内,将MATLAB的文件路径选择到当前文件夹内,运行main.m就可以了,运行后会出现如下图的界面

matlab 求解矩阵的范式,范式计算器matlab代码_第2张图片在第一行输入需要转换的范式,然后点击下方的转换按钮,就能得到我们想要的结果了。

EXE文件

为了方便使用者移植,我们将程序制作成了exe文件,在安装过程中,我们EXE压缩包进行解压,我们打开第一个文件夹for_redistribution,双击里面的MyAppInstaller_web.exe进行安装。程序的运行环境需要安装MATLAB RUNTIME,使用者可以通过安装程序进行网上安装,也可以自行去官网下载。安装完成后,双击桌面图标进行使用。

注意事项

为了程序能够正常的运行,我们对于程序的输入,有着严格的规定,使用只能输入下表ASCII码对应的字符,否则会被程序报错。名称符号ASCII码值

命题变项A-Z,a-z65-90,97-122

合取联结词∧8743

析取联结词∨8744

否定联结词¬172

蕴含联结词(右)→8594

蕴含联结词(左)←8592

等价联结词?8596

与非联结词↑8593

或非联结词↓8595

括号(,)40,41

程序的下载地址:https://github.com/Charlie2048/Charlie/tree/21

范式计算器matlab代码相关教程

你可能感兴趣的:(matlab,求解矩阵的范式)