MATLAB Answers

How to input a function into a function?

8 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.


Translated by