2012-05-25 13 views

Respuesta

14

Utilice los controles de las funciones.

function f = functionReturner(u) 
% creates the function x.^u to return as an example 
f = @(x) x.^u; 

Si guardo esta función, luego invoco functionReturner, el argumento es en sí mismo una función.

f = functionReturner(3); 
f(2.5) 
ans = 
     15.625 

Puede verificar con bastante facilidad que 15.625 es de hecho 2.5^3.

+2

¿Hay alguna manera de hacer esto sin usar funciones anónimas? – Will

+0

@Will - No sé qué problema está tratando de resolver, o incluso qué versión de MATLAB está utilizando. ¿Hay alguna razón por la cual ahora estás poniendo restricciones a la respuesta? Si tiene algún motivo ulterior, díganos en lugar de hacernos adivinar a todos. Leer la bola de cristal es tan difícil algunos días. –

+1

Si la parte anónima te molesta, un identificador de función normal a una subfunción también funcionará. – Peter

Cuestiones relacionadas