フィルターのクリア

How do you call a nested function?

5 ビュー (過去 30 日間)
karen
karen 2013 年 6 月 18 日
Hello. I understand how a nested function works, but I'm having a problem calling it in the command window. I don't know if I'm calling it wrong or not.

採用された回答

Wayne King
Wayne King 2013 年 6 月 18 日
編集済み: Wayne King 2013 年 6 月 18 日
You want to put the nested function inside another function (as the term nested implies) and then call the top-level function. As an example, create the following file, evenodd.m
function [even, odd] = evenodd(x)
even = evensamples(x);
odd = oddsamples(x);
function even = evensamples(x)
even = x(1:2:end);
end
function odd = oddsamples(x)
odd = x(2:2:end);
end
end
Save the above file evenodd.m in a folder on the MATLAB path and then call
>> x = randn(16,1);
>> [even,odd] = evenodd(x);
Note that evenodd() calls two nested functions evensamples() and oddsamples()

その他の回答 (1 件)

Jan
Jan 2013 年 6 月 18 日
You cannot call a nested function from the outside, e.g. from the command line, directly. This is the nature of a nested function. Sub-functions cannot be called directly also.

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by