【问题标题】:how to save matlab neural networks toolbox generated figures如何保存matlab神经网络工具箱生成的数字
【发布时间】:2013-04-10 03:32:32
【问题描述】:

在 matlab 工作区中,可以轻松保存输出/结果。但是当我用一些数据训练网络以查看训练的性能时(在神经网络工具箱中),回归图以及直方图和性能图无法保存为图形文件。目前我正在使用截图工具来捕获他们。

我的问题是如何做到这一点?是否有任何选项可以保存这些图(在 Maltab 神经网络工具箱中生成)?

如果能获得有关我的询问的任何代码/答案,我将不胜感激。非常感谢。

我正在添加要通过在 matlab 中命令代码保存的绘图快照。

目前我正在使用截图工具,但是当我输入文字时,它们的属性/图像质量会缩小。

【问题讨论】:

  • 您在此处发布的图像质量看起来不错。他们在文字上看起来更糟是一个完全不同的问题。
  • 感谢您的 cmets。我也知道问题不同,但我想捕获原始图形文件,这就是为什么我需要将它们保存为 matlab 图形。

标签: matlab neural-network matlab-figure


【解决方案1】:

如果你只提到图的质量,你可以通过点击图菜单中的编辑/复制来完成。

【讨论】:

    【解决方案2】:

    除 nntraintool 本身以外的训练图都是真正的 matlab 图。标签例如 TRAINING_PLOTERRHIST TRAINING_PLOTPERFORM TRAINING_PLOTRESPONSE 。 nntraintool 图形是 java——您可以使用 nnjava.tools('nntraintool') 访问它。有关如何在 Matlab 中操作 java 图形,请参阅未记录的 Matlab。

    Richard
    

    【讨论】:

      【解决方案3】:

      首先,您需要确定要快照的 gfx 对象(其句柄)。这可能来自可识别的属性。然后你想用print 把它保存到一个文件中;您需要提供文件名,最后是类型;有关详细信息,请参阅help

      例如,如果你想保存带有标签'my.awesome.fig'的图形,你可以尝试:

      h = findobj('Type', 'figure', 'tag', 'my.awesome.fig');
      for k = 1:numel(h)
              print(h(k), sprintf('Pic%d.ps',k));
      end;
      

      【讨论】:

      • 非常感谢。我尝试了上述方式,但它并没有解决我的需求。 matlab 神经网络工具箱具有内置的绘图选项。当网络使用数据进行训练时,我可以单击图表(性能、训练状态、误差直方图、回​​归),并且该图形会根据其训练方式自动生成。现在弹出的新图不能用你提到的代码类型保存。
      • 嗯……这确实很奇怪。但是,为了清楚起见,上面的代码只是一个例子。如果您要打印的窗口确实是 Matlab figure,它应该在 h = findobj('Type', 'figure') 返回的句柄列表中,或者,如果不是,恐怕 Matlab 在捕获内容方面无能为力。如果它在数字中,那么它的句柄应该在h。现在,这可能需要一些侦探工作,但您应该使用get(h(1))get(h(2)) 等找到使其在其他数字中独一无二的特定属性。在您可以根据您的需要调整上面的代码之后。
      • @CST-Link:谢谢你的回答。这也行不通。我想知道这个工具箱生成的图可能不是 matlab 数字。这些是纯 java 数字(Amro 的另一个问题的答案)。这必须转换为 matlab 图形,然后捕获它。
      • @Amro:请您阅读这个问题并编写用于捕获 Matlab 神经网络训练 (nntraintool) 工具箱生成的图的代码。我会很感激你。
      猜你喜欢
      • 2011-07-08
      • 1970-01-01
      • 2015-06-03
      • 2014-04-20
      • 2015-01-10
      • 2013-01-13
      • 2013-09-07
      • 2014-01-02
      • 2012-03-22
      相关资源
      最近更新 更多