【问题标题】:Get(groot) not working in matlab获取(groot)在matlab中不起作用
【发布时间】:2015-09-02 23:14:02
【问题描述】:

我正在使用 matlab 工具箱来分析皮肤电导数据 (http://pspm.sourceforge.net/)。这是我添加到我的 matlab 路径中的唯一额外工具箱。

我的分析运行良好,直到工具箱的某个函数出现错误:

Undefined function or variable 'groot'.

导致问题的行是:

corder = get(groot, 'defaultAxesColorOrder');

现在,get(groot) 是一个 matlab 方法:http://de.mathworks.com/help/matlab/ref/groot.html,而不是需要定义的函数。

为了检查我是否隐藏了正确的 get 函数,我进入了调试模式,就在该行执行之前,我检查了:

K>> which get
built-in (/Applications/MATLAB_R2012a.app/toolbox/matlab/graphics/get)

据我了解,问题不在于工具箱,而在于 matlab 本身(我使用的是 Matlab R2012a),这就是我在 SO 上而不是在他们的错误报告中发布的原因。另一方面,我在两台不同的计算机上遇到了同样的问题。任何提示都会有所帮助。

【问题讨论】:

  • 我的电脑没问题。如果您之前尝试保存 groot 变量,您会遇到同样的问题吗? grootvar = groot ?
  • 请输入这个并报告输出。 r = groot
  • get(0) 有效吗?我认为旧的 Matlab 版本没有groot;但根图形对象有句柄0。
  • mathworks.com/help/releases/R2012a/… 这是 2012a 文档。它找不到groot。更新 Matlab。
  • get(gcf, 'defaultAxesColorOrder') 不相似?

标签: matlab


【解决方案1】:

groot 似乎是 2014b 年发布的 Matlab 更新图形系统的一部分。而是直接访问您要修改的图形。

fh = figure;
corder = get(fh, 'defaultAxesColorOrder');

【讨论】:

  • 我觉得可以直接写:get(gcf, 'defaultAxesColorOrder');
  • 顺便说一句,get(gcf, 'defaultAxesColorOrder');并得到(groot,'defaultAxesColorOrder');如果您没有 matlab 2015,请给出不同的结果
  • @obchardon 确实get(gcf.... 会起作用,但如果重点是处理多个数字怎么办?由于我不知道将图形句柄返回为fh 的其余部分发生了什么,这意味着我总是可以轻松获得它。
  • 太棒了,谢谢!我很困惑,读到 groot 是在 R2006 之前引入的,但这适用于 get,而不是 groot。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多