1

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

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

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

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

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

4

3 回答 3

1

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

您可以fprintf改用,或disp. 在 MatLab 帮助中查找它们。

doc fprintf
doc disp
于 2013-07-12T03:55:00.837 回答
0

利用

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

或者

s = sprintf('%s ', cell{i});
disp(s);
于 2013-07-12T05:29:12.403 回答
0

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

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

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

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

于 2018-01-24T09:31:30.840 回答