给定A和B,在GF(2(上求解x应给出2个解。示例:
A = [
1 0 0 0 1;
0 1 0 0 0;
0 0 1 0 0;
0 0 0 1 1; ]
B(转置(=[0 0 0 0]
因此Ax=B产生x=[0 0 0 0]和x=[1 0 0 1 1]你可以看到
x1 + x5 = 0
x2 = 0
x3 = 0
x4 + x5 = 0
显然,x1和x5可以是0或1,x4可以是1或0
我应该补充一点:我试过使用
gflineq(A, B, 2);
但只有一个解决方案
您基本上已经有了一个布尔方程组,并且正在寻找所有的解决方案。如果方程和变量的数量很小,最简单的事情可能就是列举所有可能的解决方案(在你的小例子中,2^5=32种情况(,依次检查每个方案,并保留满足系统的方案。
如果你正在寻找一种在许多情况下更实用的通用表示(尽管显然总体上仍然是指数型的(,我建议使用BDD(https://en.wikipedia.org/wiki/Binary_decision_diagram(有各种完善的软件包可用于操作它们。不过,我不确定是否要将它们连接到Matlab。