Convert logical values into numeric values

523 vues (au cours des 30 derniers jours)
Maria
Maria le 19 Août 2014
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

Star Strider
Star Strider le 19 Août 2014
This works:
B = double(cell2mat(A));
The cell2mat call converts it from a cell to a logical array, and double converts it to a double array.

Plus de réponses (3)

Jonatan Tidare
Jonatan Tidare le 26 Mar 2018
double(A) works

chaman lal dewangan
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
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
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.

Connectez-vous pour commenter.


Jonathan Patao
Jonathan Patao le 12 Mar 2018
Modifié(e) : Jonathan Patao le 13 Mar 2018
Try this:
B = cell2mat(A).*1;
  4 commentaires
Jonathan Patao
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
Star Strider le 13 Mar 2018
... duplicating my Answer!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Data Type Conversion dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by