我试图使用Matlab的AA
函数在galois字段中将十六进制值gfconv(a,b)
乘以2,控制台返回给我一个错误说:"输入元素必须是二进制。",但我的两个元素是二进制
a=hexToBinaryVector('AA');
b=de2bi(2);
c=gfconv(a,b);
disp(c);
错误代码:
Error using gfconv_mex
The input elements must be binary.
Error in gfconv (line 120)
c = gfconv_mex(varargin{:});
Error in test(line 3)
c=gfconv(a,b);
知道如何解决这个问题吗?
答案 0 :(得分:2)
我没有在这里完成所有代码,但这是我要采取的步骤来解决它。
<强>问题强>
它是二进制形式,但(remove-if-not #'(lambda(record)
(equal (getf record :atom) atom))
*ATOMS*)
是二进制数的向量。
<强>解决方案强>
试一试,看看它是否有效。
注意 - 扩展第3步:
如果我们有变量b
,我们可以从字符串中选择单个字符,如:
a = '[0+11]';
因此,您可以使用循环“
解析字符串 a(3)
ans = '+'
a(4)
ans = '1'
a(1)
and = '['
最后,转换字符串:
for n = 1 : length(a)
if a(n) == '1' || a(n) == '0'
str(n) = a(n);
end
end
完成