2015-01-08 2 views
0

У меня есть MATLAB R2012b в моей системе. Таким образом, панель инструментов системы связи R2014b там недоступна. Я не могу оценить de2bi() функция. Существует альтернатива dec2bin().Как переставить строку в виде матрицы?

Предположим, что dec2bin (2,9) = 000000010, который представляет собой строку, содержащую 9 цифр. Теперь мне нравится получать 000000010 как вектор длины 9, который я могу изменить матрицей $ 3 \ times3 $, чтобы использовать ее для дальнейших математических вычислений. Как я могу это сделать?

ответ

1

Просто вычтите '0' (или 48, который является ASCII для '0'), а затем reshape. Это работает, потому что вычитание числа или даже char из char превращает его в double, соответствующий его коду ASCII.

>> reshape(dec2bin(2,9)-'0',3,3) 
ans = 
    0  0  0 
    0  0  1 
    0  0  0 

или

>> reshape(dec2bin(2,9)-'0',3,3).' 
ans = 
    0  0  0 
    0  0  0 
    0  1  0 
+0

Команда работает. Спасибо. – Dutta

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