【问题标题】:how to get matlab's output which appeared in command window如何获取出现在命令窗口中的matlab输出
【发布时间】:2012-04-08 03:06:14
【问题描述】:

如何得到matlab的输出? 不是整个输出(我知道日记可以提供帮助)

一个简单的例子

>> st = rng
st = 
     Type: 'twister'
     Seed: 0
    State: [625x1 uint32]

我想要的是将输出复制到剪贴板。当我使用 剪贴板 功能时,出现错误:

>> clipboard('copy', st)
Error using mat2str (line 54)
Input matrix must be numeric.
Error in clipboard (line 56)
        stuff = mat2str(stuff); 

我可以轻松地将输出字符串获取到剪贴板,而不是使用鼠标选择...复制...

谢谢!

添加

谢谢你!复制 DISP 表示是我想要的。

但是在我运行命令 toString1(rng) 之后,我可以在剪贴板中得到这样的东西吗:

   >> rng
   ans = 
       Type: 'twister'
       Seed: 11284109
      State: [625x1 uint32]

【问题讨论】:

    标签: matlab command-window


    【解决方案1】:

    要将矩阵复制到剪贴板,我建议MAT2CLIP FileExchange 提交。不仅支持字符串或数值矩阵,还支持混合元胞数组、逻辑等。

    虽然它不支持结构。如果您需要复制单个字段,您仍然可以使用 mat2clip。您可以通过结构字段设置 for 循环,并使用 pause 从剪贴板粘贴字段。

    如果您有兴趣复制整个结构或其 DISP 表示,请检查此 SO 问题 - How to get result of DISP as return parameter into a variable?

    这个问题的一个解决方案是将 DISP 输出到一个字符串,您可以使用 mat2clip 将其复制到剪贴板(对于任何具有display 方法的对象都是通用的):

    toString = @(x) evalc('disp(x)');
    mystring = toString(mystruct);
    

    另一个答案建议来自 FileExchange 的STRUCT2STR。还要检查STRUCT2STR recursive

    【讨论】:

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