MATLAB Answers

How to input a function into a function?

115 views (last 30 days)
Cantor Set
Cantor Set on 15 Feb 2020
Commented: michio on 15 Feb 2020
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.

  0 Comments

Sign in to comment.

Answers (1)

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

  3 Comments

michio
michio on 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.
Cantor Set
Cantor Set on 15 Feb 2020
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 :(
michio
michio on 15 Feb 2020
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.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!