简体   繁体   中英

How to print binary string of certain position

consider

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')

Output is

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

why it did not return

b = [01110
     10000
     10011
     11111]

How will i get this output?

Use

b=dec2bin(a(D'))

That gives me:

b =
110001
110000
110001
110000
110000

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM