Combining elements in an array

4 visualizzazioni (ultimi 30 giorni)
sushma sharma
sushma sharma il 12 Lug 2016
Risposto: Star Strider il 12 Lug 2016
Hi, I have a logical array, A = [1 0 1]. How can I combine the elements horizontally, so that I have B = [101]? Any help would be appreciated! SS

Risposta accettata

Star Strider
Star Strider il 12 Lug 2016
To turn your logical array into a double array, any mathematical operation on it will do the conversion. Here I used ‘+’:
A = logical([1 0 1])
An = +A
whos A*
A =
1 0 1
An =
1 0 1
Name Size Bytes Class Attributes
A 1x3 3 logical
An 1x3 24 double

Più risposte (1)

James Tursa
James Tursa il 12 Lug 2016
Modificato: James Tursa il 12 Lug 2016
Assuming you intend to combine the individual digits into a single decimal number:
B = sum(A.*(10.^(numel(A)-1:-1:0)));
If you intended to make a string instead, then
B = char(A+'0');

Categorie

Scopri di più su Numeric Types in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by