【问题标题】:Output function's array values in MATLAB's GUI在 MATLAB GUI 中输出函数数组值
【发布时间】:2014-04-22 16:58:27
【问题描述】:

如何在Matlab的GUI函数中输出函数的数组? 我有一个功能:

function p = PushButtonPressed(h, eventdata)
p=[2 4 5;];

如何输出p 或全局赋值,即GUI 的其他函数可以将其作为参数输入或可以在当前工作空间 中使用。

【问题讨论】:

    标签: arrays matlab user-interface output


    【解决方案1】:

    基本上你可以使用 handles 结构体。您也可以使用 global 变量,但我认为对于单个 GUI 案例,坚持使用 handles 结构解决方案更安全。在这里列出两者。

    处理解决方案、代码

    function p = PushButtonPressed(h, eventdata,handles)
    
    p=[2 4 5;];
    handles.p = p;
    
    %%// Update handles structure
    guidata(hObject, handles);
    
    return;
    
    
    function p = some_other_function(h, eventdata,handles)
    
    %%// Retrieve the previously saved value of p
    p = handles.p;
    
    %%// Do something with p
    
    return;
    

    全局变量解决方案,代码

    function p = PushButtonPressed(h, eventdata)
    
    global p
    
    p=[2 4 5;];
    
    return;
    
    
    function p = some_other_function(h, eventdata)
    
    global p
    
    %%// Do something with p
    
    return;
    

    【讨论】:

    • 这两段代码对我都不起作用,p数组仅在函数中定义得很好。
    • 一些错误?如果是这样,错误说明了什么,否则请告诉我们更多关于它什么/如何不起作用的信息?
    • 首先,它只是在未定义的 hObject 上给出错误,因为它不在其参数中,其次,它仅在函数内部给出值,第二个函数我们无法使用该值。
    • 所以你有你原来的功能 - function p = PushButtonPressed(h, eventdata)。如果没有p,您的原始代码是否可以正常工作?如果是这样,我们可以继续查看p 的问题?
    猜你喜欢
    • 2016-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    • 2011-07-23
    • 2023-03-24
    相关资源
    最近更新 更多