2

我非常清楚如何使用一、零和单元格命令预分配矩阵大小,但是 String 呢?

假设我现在有一个名为 Matrix data,其每个值都在 1-255 之间,如果我想打印这些数字的 ASCII 字符而不是它本身的数字,我会这样做,

msg='';

    for i = 1 : length(data)
        msg=horzcat(msg,floor(data(i))); % horzcat doesn't ignore spaces
    end

msg

在上面的代码中,Matlab 不知道msg循环结束前的大小,我真正想做的是msg在循环开始之前声明变量的大小。

我怎样才能做到这一点 ?

4

1 回答 1

4

您可以像使用char矩阵一样预分配字符串(字符串只是一个 char 数组):

msg = char(zeros(100,1));

但是,这可能不是您需要的(我还没有看到任何人为任何东西预先分配字符串)。鉴于这是您想要做的

假设我现在有一个名为 data 的矩阵,如果我想打印这些数字的 ASCII 字符而不是它本身的数字,它的每个值都在 1-255 之间

您可以简单char(data)地显示 ASCII/Unicode 值。

于 2013-03-13T23:41:22.290 回答