2013-06-26 2 views
0

Я действительно новичок в программировании в Matlab, и я не могу ничего понять. Я потратил много времени на поиски в Интернете и не повезло. Я пытаюсь сделать приложение, которое примет текстовый файл, преобразует его в двоичный код, а затем преобразует двоичные файлы в код помех. Это первая часть, остальное не важно для этого вопроса.Печать массива ячеек в этикетке gui matlab

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

Программа принимает текст из файла txt, преобразует каждый символ в двоичную цифру, а я создаю ячейки для каждая цифра символов, которые затем помещаются в функцию, которая кодирует хеминг. Таким образом, выход представляет собой массив ячеек.

Это основная часть программы:

[filename pathname] = uigetfile({'*.txt'}, 'File Selector'); 
fullpathname = strcat(pathname, filename); 
text = fileread(fullpathname);    
set(handles.text1, 'String', fullpathname) 
binarno = dec2bin(text, 8);     


L = length(text); 



C = num2cell(binarno,2) 

D = cellfun(@enkoder, C,'uniformoutput', 0) 



set(handles.text2, 'String', D) 

Я пробовал много вещей, и ничего не получалось. Я не знаю, почему он печатает массивы ячеек D в столбце .. вместо строки. Если я попробую D{1}, я обычно получаю строку кода помех.

И эта часть функции enkoder:

function hamm = enkoder(ulaz) 

%the hamming encoding part of the code goes here 

hamm = [prva_pozicija, druga_pozicija, jedan, cetvrta_pozicija, 
dva, tri, cetiri, osma_pozicija ,pet, sest, sedam, osam] 
%this is the output from the code 

Так что я думаю, вопросы, как я могу распечатать массив ячеек в строках в метке GUI?

+0

'UIControl ('стиль', 'текст', 'Строка', { '111', '22', '333'}», 'Units', 'Нормированная', 'Position', [0 0 1 1]) ' , похоже, работает. Ваша проблема, вероятно, связана с D. Можете ли вы попытаться сделать «класс (D)» и сообщить нам результат? –

+0

Я не совсем знаю, где поставить этот uicontrol, который вы написали. И класс D - это ячейка – Filkatron

+0

Хорошо, я понял, что отредактирую свой ответ – Filkatron

ответ

0

Использование [D{:}] вместо D в последней строке может помочь.

редактировать: использовать num2str(cell2mat(D)) вместо

+0

Нет, он по-прежнему распечатывает столбец: S – Filkatron

+0

вы можете показать, как выглядит 'D'? –

+0

Так выглядит, как в консоли, так и в gui. http://snag.gy/rFg1g.jpg Два hamm в консоли, вот что я хочу в gui .. – Filkatron