matlab - sprintf不能在脚本中打印

时间:2013-07-12 02:08:04

标签: string matlab cell printf

所以我有一个包含几个字符串的单元格,例如

cell = {'a1', 'b2', 'c3'};

for i = 1:3
    sprintf('%s ', cell{i});
end

我期待像a1 b2 c3一样出局,但什么都没有。 有趣的是sprintf在命令窗口中工作(没有分号)。

请让我知道出了什么问题。非常感谢。

3 个答案:

答案 0 :(得分:1)

sprintf函数生成一个字符串。它不输出它。您在命令窗口中看到它的原因可能是因为您没有写分号,因此会向您显示结果。

您可以改为使用fprintfdisp。在MatLab帮助中查看它们。

doc fprintf
doc disp

答案 1 :(得分:0)

使用

fprintf(1, '%s ', cell{i});

s = sprintf('%s ', cell{i});
disp(s);

答案 2 :(得分:0)

我遇到了类似的问题:使用变量来分配sprintf replace

的输出
sprintf('%s ', cell{i}); 

s=sprintf('%s ', cell{i});

此处s将在您的情况下循环时保存单元格的值