我有一个二进制矩阵 A
(只有1
和),以及伽罗瓦域中0
的一个向量(256)。D
向量C
计算如下:
C = (A^^-1)*D
其中表示矩阵inA^^-1
的逆矩阵,是乘法运算。结果向量必须在. 我试图在 Matlab 中做到这一点。A
GF(2)
*
C
GF(256)
A= [ 1 0 0 1 1 0 0 0 0 0 0 0 0 0;
1 1 0 0 0 1 0 0 0 0 0 0 0 0;
1 1 1 0 0 0 1 0 0 0 0 0 0 0;
0 1 1 1 0 0 0 1 0 0 0 0 0 0;
0 0 1 1 0 0 0 0 1 0 0 0 0 0;
1 1 0 1 1 0 0 1 0 1 0 0 0 0;
1 0 1 1 0 1 0 0 1 0 1 0 0 0;
1 1 1 0 0 0 1 1 1 0 0 1 0 0;
0 1 1 1 1 1 1 0 0 0 0 0 1 0;
0 0 0 0 1 1 1 1 1 0 0 0 0 1;
0 1 1 1 1 0 1 1 1 0 1 1 1 0;
0 0 0 1 0 0 0 1 0 0 0 0 0 0;
0 0 1 0 0 0 0 1 0 0 0 0 0 0;
1 1 1 1 0 0 0 0 0 0 0 0 0 0]
D=[0;0;0;0;0;0;0;0;0;0;103;198;105;115]
A=gf(A,1);
D=gf(D,8); %%2^8=256
C=inv(A)*D
%% The corrected result must be
%%C=[103;187;125;210;181;220;161;20;175;175;187;187;220;115]
但是,对于上面的代码,我无法达到我的预期结果
C=[103;187;125;210;181;220;161;20;175;175;187;187;220;115]
它产生一个错误
Error using * (line 14)
Orders must match.
你能帮我达到我的预期结果吗?