码迷,mamicode.com
首页 > 编程语言 > 详细

Python科学计算系列9—逻辑代数

时间:2020-06-30 20:55:14      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:函数   运行   pos   png   col   loading   mamicode   pre   lazy   

1.基本定理的验证

代码如下:

from sympy import *

A, B, C = symbols(A B C)
# 重叠律
# A·A=A     A+A=A
print(to_cnf(A | A))
print(to_cnf(A & A))
# 结合律
print(to_cnf(~(A | B) | C))
# 分配律
# A+B·C=(A+B)(A+C)
print(to_dnf(A & (B | C)))
# 反演律
print(to_dnf(~(A | B)))
print(to_dnf(~(A & B)))
# 还原律
print(to_cnf(~(~A)))

运行结果:

技术图片

2.化简逻辑函数

代码如下:

from sympy import *

A, B, C = symbols(A B C)
# 化简逻辑函数(!A+!B+!C)(!A+!B+!C)
f1 = simplify_logic((~A & ~B & ~C) | (~A & ~B & C))
print(f1)
# 化简最小项之和为析取范式
minterms1 = [0, 7]
f2 = SOPform([A, B, C], minterms1)
print(f2)
# 化简最小项之和为合取范式
minterms2 = [[1, 0, 1], [1, 1, 0], [1, 1, 1]]
f3 = POSform([A, B, C], minterms2)
print(f3)
# 化简最小项之和为析取范式(第7项任取)
minterms3 = [[1, 0, 1], [1, 1, 0]]
dontcares = [7]
f4 = SOPform([A, B, C], minterms3, dontcares)
print(f4)

运行结果:

技术图片

Python科学计算系列9—逻辑代数

标签:函数   运行   pos   png   col   loading   mamicode   pre   lazy   

原文地址:https://www.cnblogs.com/wanyuan/p/13210134.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!