How to input a function into a function?

I wrote a matlab function fun1 and fun2
and when I included them as inputs in third function fun3 that I wrote, it gives an error - not enough input arguments.

Risposte (1)

michio
michio il 15 Feb 2020
Modificato: michio il 15 Feb 2020
Have you tried using funtion handles? You can use them as inputs instead of directly using function names.

3 Commenti

michio
michio il 15 Feb 2020
Modificato: michio il 15 Feb 2020
The function handles are variables, so you can save them in a mat file if you need to but you can just define them before calling fun4. If you are running fun4 in a command window then
f1 = @fun1;
f2 = @fun2;
f3 = @fun3;
fun4(f1, f2, f3)
I suppose here that fun1 to fun3 are already defined.
II want to nest m-files functions into an m-file function and then run the it.
The idea of function handles didn't work :(
Hm, I apologize that I haven’t given you a suitable example that suita your case, but those functions (fun1-fun3 above) can be defined as separate m-files or as subfunctions, or as nested functions. There should be a way to make it work :)
Could you give me more detailed info? Such as sample code or.. anything that explains your situation.

Accedi per commentare.

Categorie

Scopri di più su Environment and Settings in Centro assistenza e File Exchange

Richiesto:

il 15 Feb 2020

Commentato:

il 15 Feb 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by