matlab中的串接数

matlab中的串接数,matlab,Matlab,我试图将0和1串联在一个矩阵中,形成一个二进制数(作为字符串)。 例如,[1 0 1;0 0 1]应该输出['101';'001'] 但是,当尝试此输入时,结果是['1','1']。为什么? function result = generateBinary(ref_matrix) [row col] = size(ref_matrix); result = cell(1,row); str = ''; for i=1:row for j = 1

我试图将0和1串联在一个矩阵中,形成一个二进制数(作为字符串)。 例如,
[1 0 1;0 0 1]
应该输出
['101';'001']

但是,当尝试此输入时,结果是
['1','1']
。为什么?

function result = generateBinary(ref_matrix)
    [row col] = size(ref_matrix);
    result = cell(1,row);

    str = '';

    for i=1:row
        for j = 1:col
            n = num2str(ref_matrix(i,j))
            str = strcat(str, num2str(ref_matrix(i,j)));      
            str
        result{1,i} = str;    
        str = '';
        end
    end    
end

第一个
end
位于错误的位置

function result = generateBinary(ref_matrix)
[row col] = size(ref_matrix);
result = cell(1,row);

str = '';

for i=1:row
    for j = 1:col
        n = num2str(ref_matrix(i,j))
        str = strcat(str, num2str(ref_matrix(i,j)));      
        str
    end
    result{1,i} = str;    
    str = '';
end   

如缩进所示,
result{1,i}=str;str=''可能不是内部循环的一部分。

您可以用
char(ref\u matrix+'0')替换此函数。