我非常清楚如何使用one,zeros和cell命令预先分配Matrix大小但是如何使用String?
假设我有一个名为data
的矩阵,如果我想打印这些数字的ASCII字符而不是自己的数字,那么每个值都在1-255之间,我会这样做,
msg='';
for i = 1 : length(data)
msg=horzcat(msg,floor(data(i))); % horzcat doesn't ignore spaces
end
msg
在上面的代码中,Matlab在循环结束之前没有意识到msg
的大小,我真正想做的是在循环开始之前声明变量msg
的大小。 / p>
我该怎么做?
答案 0 :(得分:4)
您可以使用char
来预分配字符串,就像使用矩阵一样(字符串只是一个字符数组):
msg = char(zeros(100,1));
然而,这可能不是你需要的(我没有看到任何人为任何事情预分配字符串)。鉴于这是你想要做的事情
假设我有一个Matrix命名数据,如果我想打印这些数字的ASCII字符而不是数字,那么每个值都在1-255之间
您只需执行char(data)
即可显示ASCII / Unicode值。