String 如何打印特定位置的二进制字符串

String 如何打印特定位置的二进制字符串,string,matlab,binary,String,Matlab,Binary,考虑 a = dec2bin(rand(5,1)*100); X = 3:7; Z = 2:6; for i = 1:5 y = abs(X(i)-Z); dm = min(y); D(i) = find(y==min(y)); end D2 = D' b = a(D') 输出为 a = 01001 01110 10000 10011 11111 X = 3 4 5 6 7 Z = 2 3 4

考虑

a = dec2bin(rand(5,1)*100);
X = 3:7;
Z = 2:6;
for i = 1:5
    y    =  abs(X(i)-Z);
    dm   = min(y);
    D(i) = find(y==min(y));
end
D2 = D'
b  = a(D')
输出为

a =
01001
01110
10000
10011
11111

X =
 3     4     5     6     7

Z =
 2     3     4     5     6

D2 =
 2
 3
 4
 5
 5

b =
0
1
1
1
1
为什么它没有回来

b = [01110
     10000
     10011
     11111]
如何获得此输出?

使用

b=dec2bin(a(D'))
这给了我:

b =
110001
110000
110001
110000
110000