如何从MATLAB中的内联函数返回值?

时间:2016-05-13 23:36:20

标签: matlab function inline

我有以下脚本:

im = imagesc(anImage, 'parent', gca); 
set(im,'HitTest','off');
set(gca,'buttondownfcn', @someFunction)

我的问题是我希望someFunction返回一些值,但我不确定如何在这种特定情况下执行此操作。内联似乎不让我这样做......

感谢。

1 个答案:

答案 0 :(得分:1)

要使someFunction()在基础工作区中设置一个值(我认为这是您想要实现的),您可以使用assignin()函数。

someFunction()将变量axes_position设置为当前轴位置的示例如下

function someFunction(hObject, event)
assignin('base', 'axes_position', get(hObject, 'Position'));

在MATLAB用户指南中查看轴和图属性页面,了解如何处理轴和图形控件中的用户UI输入(没有足够的声誉来添加两个链接)。

但是,你提到你想在程序的下一行操作它。如果我理解正确,这就是guidata函数的用途:“存储或检索UI数据”