如何获得函数句柄的值

时间:2012-03-13 10:35:59

标签: matlab

我有一个返回值的function_1 从function_2,我想获得function_1的值来使用它 我试过了:

function ret = getValue(arg)

            ret = find(arg,'toto');

   end

function selectValue(arg,val)
            f = @getValue(arg);
            switch val
                case 'tata'
                    f.select(1)
                case 'titi'
                   f.select(0);
            end
end

但在尝试f.select(1)时遇到错误 一般来说,如果我想在另一个中使用返回函数的值,我该怎么办? 有人可以帮忙吗?

感谢,

1 个答案:

答案 0 :(得分:1)

您收到错误,因为f=@getValue(arg)返回函数的句柄,而不是返回值的句柄。你应该做的是返回你想要操作的对象的句柄,然后在f中使用该句柄(只是数字)。遗憾的是,您无法以直接的方式实现此目的,但您应该使用包装类和hgetset。看看这个:Can properties of an object handle returned from a function be used without first assigning to a temporary variable?