0

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

4

1 回答 1

0

在最后一行使用[D{:}]而不是可能会有所帮助。D

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

于 2013-06-26T22:21:21.760 回答