フィルターのクリア

function names as variables

10 ビュー (過去 30 日間)
ahmad
ahmad 2018 年 8 月 24 日
コメント済み: ahmad 2018 年 8 月 24 日
I have created functions (say func1 and func2) with this format (each of which was written in a separate file)
----------------------------------------
function [a,b]=func1
a=[1,1];
b=[0,0,0];
end
------------------------------------------
function [a,b]=func2
a=[5,5];
b=[1,1,0];
end
-------------------------------------
A statement like
[c,d]=func1;
works. However, it doesn't work when it is written in another function (call it mainfunc) which has func1 or func2 as arguments, i.e. briefly something like
mainfunc(x)
[c,d]=x;
where x is one of the functions func1 and func2.
Are there any suggestions to overcome this problem?

採用された回答

Walter Roberson
Walter Roberson 2018 年 8 月 24 日
If you have
function [c, d] = mainfunc(x)
where x is being passed in as @func1 or @func2, then you would use
[c, d] = x();
With what you had, you were trying to return the function handle, rather than trying to return the result of invoking the function handle.
  1 件のコメント
ahmad
ahmad 2018 年 8 月 24 日
thank you so much! it solves the problem

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeWorkspace Variables and MAT-Files についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by