在gui标签matlab中打印单元阵列

时间:2013-06-26 22:07:51

标签: arrays matlab cell-array

我是matlab编程的新手,我无法解决问题。我花了几个小时谷歌搜索,没有运气。 我正在尝试创建一个应用程序,将文本文件转换为二进制文件,然后将二进制文件转换为汉明码。这是第一部分,其余部分对于这个问题并不重要。

GUI正在列中输出我的输出,我想让它连续打印出来。 该变量通常连续打印出来,但在GUI中它打印在一列......

程序从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标签中的行中打印出一个单元格数组?

1 个答案:

答案 0 :(得分:0)

在最后一行使用[D{:}]代替D可能有所帮助。

编辑:改为使用num2str(cell2mat(D))