在matlab中连接数字

时间:2015-02-09 02:02:10

标签: 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:col
            n = num2str(ref_matrix(i,j))
            str = strcat(str, num2str(ref_matrix(i,j)));      
            str
        result{1,i} = str;    
        str = '';
        end
    end    
end

1 个答案:

答案 0 :(得分:1)

第一个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 = '';可能不是内循环的一部分。