2015-06-12 3 views

ответ

4

Вы можете сравнить его с характером '1'

>> A=['0101';'1011'] 
A = 
0101 
1011 
>> A=='1' 
ans = 
    0  1  0  1 
    1  0  1  1 
+0

Спасибо, что сработало – axcelenator

0

Попробуйте

b_bin = logical(b(:)'-'0') 

если b это имя вашей матрицы.

+0

Здравствуйте, это дает один длинный ряд .. мне это нужно, чтобы сохранить размеры матрицы. – axcelenator

1

Это то, что вы хотите?

a = {'0000'; '1010'; '0111'}; 
b = logical(double(cell2mat(a)) - 48); 

дает,

>> b 

b = 

    0  0  0  0 
    1  0  1  0 
    0  1  1  1 

>> class(b) 

ans = 

logical 
+0

что означает -48? – axcelenator

+0

, потому что 'double' преобразует символ из кода ascii, а в таблице ascii' 0' - это номер '48', а' 1' - '49'. – SamuelNLP

+0

Хорошо спасибо. – axcelenator

Смежные вопросы