【问题标题】:How to access a base workspace variable from matlab app designer?如何从 matlab 应用程序设计器访问基本工作区变量?
【发布时间】:2017-09-27 05:43:57
【问题描述】:

我在 matlab 的基本工作区中创建了一个变量(元胞数组)。我正在 appdesigner 中构建一个应用程序来访问基本工作区变量并在按下按钮时找到转置。

当我尝试在回调函数中使用变量时,我得到了错误:

未定义的函数或变量,即使在基础工作区中定义了变量。

请帮我解决。

【问题讨论】:

  • 如果您访问应用程序所需的某些数据的唯一方法是读取另一个工作区,这通常表明设计不佳。有多种工具可以执行您的要求,包括global 变量、appdataevalin 等。但是,您可能应该做的是加载来自文件的数据,或者更好的是,在应用程序运行时在应用程序内部创建它。如果没有更多细节,很难提出合适的解决方案。

标签: matlab-app-designer


【解决方案1】:

我昨天刚拿到 Matlab 2016,我还没有尝试过你正在尝试的东西,但我猜它类似于函数中的类似场景。所以我想你可以试试这个:

localVariableInCallback = evalin('base','nameOfVariableInWorkspace');

在哪里

  • localVariableInCallback是回调函数中的局部变量
  • nameOfVariableInWorkspace 是基础工作区中的变量

参考:Matlab 'evalin' 文档:https://uk.mathworks.com/help/matlab/ref/evalin.html

我注意到您两次发布了相同的问题,但被否决了。我强烈建议您查看他们的建议并为您的问题提供Minimal, Complete, and Verifiable example

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    相关资源
    最近更新 更多