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.

回答(1 个)

michio
michio 2020-2-15
编辑:michio 2020-2-15
Have you tried using funtion handles? You can use them as inputs instead of directly using function names.

3 个评论

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.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 MATLAB Compiler 的更多信息

提问:

2020-2-15

评论:

2020-2-15

Community Treasure Hunt

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

Start Hunting!

Translated by