2012-05-25 6 views

risposta

14

Utilizzare le maniglie di funzione.

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

Se salvo questa funzione, quindi chiamare functionReturner, l'argomento è di per sé una funzione.

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

Si può facilmente verificare che 15.625 sia effettivamente 2.5^3.

+2

C'è un modo per farlo senza utilizzare le funzioni anonime? – Will

+0

@Will - Non so quale problema stai cercando di risolvere, o anche quale versione di MATLAB stai usando. C'è una ragione per cui ora stai ponendo dei vincoli sulla risposta? Se hai qualche altro motivo, dicci piuttosto che farci indovinare. Leggere la sfera di cristallo è così difficile alcuni giorni. –

+1

Se la parte anonima ti disturba, funzionerà anche una normale funzione di gestione di una sottofunzione. – Peter

Problemi correlati