MATLAB嵌套句柄返回多个输出

时间:2013-11-24 16:56:42

标签: matlab function-handle

我有一个返回3个值的函数句柄。

@f(x,y) = basis_handle(x,y);

[z, dx, dy] = f(0.1,0.1) %returns 3 vectors

我现在要做的是创建一个函数句柄,用另一个向量执行这3个向量中每个向量的点积。类似的东西:

@f_2(x,y) c'*f(x,y) %c is a known vector, same size as ones returned by @f(x,y)

实际上,这个句柄只返回1个值,即使我试图要求更多,即这会产生错误:

[z, dx, dy] = f_2(0.1,0.1)

有没有办法创建一个函数句柄,可以按要求返回所有3个值?

1 个答案:

答案 0 :(得分:0)

我想知道这是否有帮助(实际上它相当于将三个输出传递给可在f_2中定义的不同变量):

function varagout = f_1(x,y) 
varagout=[x + 1 y-x y/x];

function varagout = f_2(x,y) 
C=[1 2 3];
varagout=C.*f_1(x,y);


>> f_1(0.1,0.1)
ans = 1.1000         0    1.0000
>> f_2(0.1,0.1)
ans = 1.1000         0    3.0000