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 日

0 投票

Have you tried using funtion handles? You can use them as inputs instead of directly using function names.

3 件のコメント

michio
michio 2020 年 2 月 15 日
編集済み: michio 2020 年 2 月 15 日
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 2020 年 2 月 15 日
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 2020 年 2 月 15 日
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 ExchangeMATLAB 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