convert class 'char' to class 'logical' , How?
46 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Furqan Haider
le 17 Jan 2014
Modifié(e) : Stephen23
le 6 Mar 2024
I have some binary bits in a string of class 'char':
b= 10001010101010101000000111110000111
I wish to covert class of 'b' from 'char' to 'logical'.
When i use str2num function, it considers all the bits as a single number and returns me
str2num(b)
ans =
1.0001e+034
Which i don't want. i want b as a logical array.
Kindly Help.
0 commentaires
Réponse acceptée
Mischa Kim
le 17 Jan 2014
Try
b_bin = logical(b(:)'-'0')
7 commentaires
Stephen23
le 6 Mar 2024
Modifié(e) : Stephen23
le 6 Mar 2024
"Why this is not indicated in the Documentation for 'logical' function?"
It already is: it states at the very top "logical(A) converts A into an array of logical values. Any nonzero element of A is converted to logical 1 (true) and zeros are converted to logical 0 (false)", which is exactly what happens here.
Of course the LOGICAL documentation cannot cover every possible way that you might create the input array (you did not consider that there are many many many many other ways of creating the input array and there is nothing special about this particular way so your proposal would mean including basically a very large subset of the entire MATLAB documentation on every single MATLAB documentation page... such documentation would be truly very large and very difficult to find anything in).
Plus de réponses (2)
William Prophet
le 11 Nov 2016
If you want to convert the character array to a logical one, just compare the entire array character by character. So if you have '001011' and you want to return [0 0 1 0 1 1], just do
'001011' == '1'
And then every character in the array is compared to '1'.
Andreas Goser
le 17 Jan 2014
Logical can only hold 0 or 1, so 10001010101010101000000111110000111 is not possible. Maybe you want binary numbers?
2 commentaires
Voir également
Catégories
En savoir plus sur Data Type Conversion dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!