【问题标题】:Pass variable and its contents from workspace to GUI function in MATLAB将变量及其内容从工作区传递到 MATLAB 中的 GUI 函数
【发布时间】:2011-02-15 13:41:21
【问题描述】:

我在 MATLAB 工作区中有一个变量,我想将变量名称及其内容传递给我的 GUI 中的一个函数。

我如何完成这项任务?

【问题讨论】:

    标签: user-interface matlab variables workspace


    【解决方案1】:

    我不完全确定您所说的“传递变量名称及其内容”是什么意思,但这是一种可能的解决方案。将一组数据传递给这样的函数后:

    some_function(data);  %# Pass the variable "data" to a function
    

    您可以使用INPUTNAME从函数内部获取输入参数的变量名称:

    function some_function(inputArgument)
      name = inputname(1);  %# Will return "data" as the name of the input variable
    end
    

    编辑: 正如 High Performance Mark 的评论中所指出的,函数内的变量 inputArgument 将包含存储在变量 data 中的 调用者的工作区。

    【讨论】:

    • 并且传递的变量的值被传递成为虚拟参数的值,在本例中为 inputArgument。以防万一这不是很明显。
    • 谢谢大家,我找到了一种使用 eval 将变量传递给函数的方法
    【解决方案2】:

    如果这个问题与您最近的另一个question 有关,那么为什么不将操作构建到您的 GUI 中呢?您可以使用指南创建一个按钮,并将代码放在回调函数下。

    【讨论】:

      【解决方案3】:

      我假设您已经使用 GUIDE 创建了带有 GUI 的图形,并且您知道 GUI 对象的“标签”名称。

      ((1)) 使用 GUIDE 打开图形,((2)) 打开图形的属性检查器(选择背景,图形的浅灰色网格区域,然后双击它,以使图形的属性检查器弹出),((3))打开'HandleVisibility''on'(默认情况下,它可能设置为'回调'),((4))保存图形并关闭GUIDE,最后 ((5)) 使用工作区中当前可用的一些参数从 MATLAB 控制台(或“命令行窗口”)设置 GUI 属性值。

      我希望这会有所帮助。

      最好, Y.T.

      【讨论】:

        猜你喜欢
        • 2020-10-10
        • 1970-01-01
        • 2015-10-21
        • 2015-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-24
        相关资源
        最近更新 更多