Вывод в векторной форме - PullRequest
0 голосов
/ 14 марта 2012

Я получаю вывод функции изменения формы следующим образом

s1 =

11 
00 
10 
11 
01 
11 
10 
10 
10 
10 
10 
10 
10 
01 
10 
01

Как преобразовать s1 в

[1 1 0 0 1 0 1 1 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1] 

, чтобы я мог подобрать значения битов s1 (1) будет 1 s1(3) будет 0 с1 (5) будет 1

Я пробовал с изменением формы и транспонированием, но не подбирал правильные битовые значения.Цени любую помощь ..


Я делаю следующую операцию с кодом ниже

, преобразовываю зашифрованный текст в байты, затем я вычисляю индексную переменную (называемую как p) и формула MOD (Нет байтов, 3) .. У меня длина зашифрованного текста 5 байтов, поэтому индексная переменная (p) равна 2 .. У меня всегда будут индексные переменные значения 0, 1 или 2, которые будут основаны на no.байтов

Скажите, что зашифрованный текст равен 11001011 01111010 10101010 10011001 01010101

Эти данные состоят из пяти байтов, поскольку переменная Inde составляет 2

11001011 01111010 10101010 10011001 01010101

Теперь для первых двух битов (11), индексная переменная, которая должна быть назначена как 2 для следующих двух битов (00), индексная переменная, которая должна быть назначена как 0 для следующих двух битов (10), индексная переменная, которая должна быть назначена как 1 для следующих двух битов(11), переменная индекса должна быть назначена как 2..so до конца моих битов.


Другой пример шифротета с тремя байтами 11001011 01111010 10101010 Переменная индекса (p) будет 0

для первых двух битов (11), индексная переменная, которая будет присвоена как 0 для следующих двух битов (00), индексная переменная, которая будет назначена как 1 для следующих двух бит (10), индексная переменная, которая будет назначена как 2 для следующегодва бита (11), индексная переменная должна быть присвоена как 0 .. так до конца моих битов ..

s = '11001011 01111010 10101010 10011001 01010101'
p = rem(numel(regexp(s,' [01]'))+1,3)
k = (0:2)'
s1 = reshape(regexprep(s,' ',''),2,[])'
n = size(s1,1)
N = k(:,ones(fix((n+1)/3)+1,1))
P = N(find(N(:,1) == p)+(0:n-1))'

Ответы [ 2 ]

0 голосов
/ 14 марта 2012

Ключом к этому вопросу является то, что элементы имеют тип char. Тогда вы можете использовать изменение формы так:

reshape(s1.',1, [])
ans = 11001011...

Это похожий вопрос.

0 голосов
/ 14 марта 2012

Хорошо s1' даст вам

[11 00 10 11 ...]

, но если вы покажете нам входные данные для вашей функции, я мог бы дать вам ответ, который вы действительно хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...