Convert logical values into numeric values
Afficher commentaires plus anciens
I have a cell array 20000 rows and 20 columns with logical values:
A={0 0 0 0 1 0...
0 0 1 0 0 0
1 0 0 0 0 0
0 1 0 0 0 0 ...}
And I would like to convert this array into numeric values of 1 and 0. Can someone help me? Thank you.
Réponse acceptée
Plus de réponses (3)
Jonatan Tidare
le 26 Mar 2018
3 votes
double(A) works
1 commentaire
Adesanya Taiwo
le 2 Mar 2024
This worked
chaman lal dewangan
le 13 Mar 2018
Modifié(e) : chaman lal dewangan
le 13 Mar 2018
I wrote small code
for a=1:number of rows
for b=1:number of columns
if A(a,b)==true
new_matrix(a,b)=1;
else
new_matrix(a,b)=0;
end
end
end
2 commentaires
James Tursa
le 13 Mar 2018
Modifié(e) : James Tursa
le 13 Mar 2018
This doesn't work either. Have you tried it?
??? Undefined function or method 'eq' for input arguments of type 'cell'.
Julotek
le 21 Mar 2018
for a=1:number of rows
for b=1:number of columns
if A{a,b}
new_matrix(a,b)=1;
else
new_matrix(a,b)=0;
end
end
end
That should work but it is maybe too complicated for you need.
Jonathan Patao
le 12 Mar 2018
Modifié(e) : Jonathan Patao
le 13 Mar 2018
Try this:
B = cell2mat(A).*1;
4 commentaires
James Tursa
le 12 Mar 2018
I just did. It doesn't work:
>> A = {1 0;0 1}
A =
[1] [0]
[0] [1]
>> B = A.*1;
Undefined operator '.*' for input arguments of type 'cell'.
Star Strider
le 12 Mar 2018
@James —
Yours confirms my result:
A = {[1 0 1 1 0] == 1};
B = A.*1;
It throws the same error.
Jonathan Patao
le 13 Mar 2018
you're right, my fault. you need to convert from cell first. try:
B = cell2mat(A).*1;
Star Strider
le 13 Mar 2018
... duplicating my Answer!
Catégories
En savoir plus sur Data Type Conversion dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!