我得到了这个代码
m0=0.8;
m1=1.2;
k=6; %where k can take values between 2 and 10;
kbar=2^k;
g_m = [0:(kbar-1)];
for i = 1: (kbar)
g=1;
for j=0:(kbar-1)
if(bitand(g_m(i),2^j))~=0
g=g*m1;
else
g=g*m0;
end
end
g_m(i)=g %results in a 1xN vector where N = all the possible states
end
我的问题是为什么函数bitand
允许你生成所有可能的“状态”?我不太确定我是否真的理解 bitand 背后的逻辑,除了搜索它比较的值是否具有bit = 1
,因此ans=1
。