如何获得出现在命令窗口中的matlab输出

时间:2012-04-08 03:06:14

标签: matlab command-window

如何获得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]

1 个答案:

答案 0 :(得分:1)

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

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

如果您有兴趣复制整个结构或其DISP表示,请检查此问题 - 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