【问题标题】:matlab - sprintf not printing in scriptmatlab - sprintf 不在脚本中打印
【发布时间】:2013-07-12 02:08:03
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: string matlab cell printf


    【解决方案1】:

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

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

    doc fprintf
    doc disp
    

    【讨论】:

      【解决方案2】:

      使用

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

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

      【讨论】:

        【解决方案3】:

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

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-08-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多