一维Hardamad矩阵变换MATLAB编程

MATLAB报错未定义与 'char' 类型的输入参数相对应的函数 'bitget'的问题。
%一维Hardamad矩阵变换
sym f
%sym u
%sym x0
sym W
i = 0;
f=[1,2,3,4];
% for a=0:length(f)-1
%     x=f(a);
% end
N = length(f);
p= log2(N);
for u=0:3, x0=f
    W=1/N*(symsum(f(u+1)*(-1)^(symsum( bin2dec(bitget(dec2bin(x0),i))* bin2dec(bitget(dec2bin(u),i)),i,p-1)),0,N-1));
    if iprint(W);
    end
end

报错

未定义与 'char' 类型的输入参数相对应的函数 'bitget'。

出错 Untitled (line 15)
W=1/N*(symsum(f(u+1)(-1)^(symsum( bin2dec(bitget(dec2bin(x0),i))
bin2dec(bitget(dec2bin(u),i)),i,p-1)),0,N-1));

不知道问题到底出在哪儿了,这个函数没问题,也不需要定义,我在其它位置使用时没有任何问题。
请您提供能够输出W的关键指导与关键代码,谢谢!