如何 return 来自 MATLAB 内联函数的值?

How to return values from an inline function in MATLAB?

我有以下脚本:

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

我的问题是我想要 someFunction 到 return 一些值,但我不确定在这种特定情况下该怎么做。内联似乎不允许我这样做...

谢谢。

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

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

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

查看 MATLAB 用户指南中的轴和图形属性页面,了解如何处理轴和图形控件中的用户 UI 输入(信誉不足,无法再添加两个链接)。

但是,您提到要在程序的下一行对其进行操作。如果我理解正确,这就是 guidata 函数的含义:"store or retrieve UI data".