2

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

1 回答 1

1

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

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

如果您有兴趣复制整个结构或其 DISP 表示,请检查这个 SO 问题 -如何将 DISP 的结果作为返回参数获取到变量中?

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

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

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

于 2012-04-08T04:15:48.353 回答