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()
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.