How do you call a nested function?
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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.
0 Kommentare
Akzeptierte Antwort
Wayne King
am 18 Jun. 2013
Bearbeitet: Wayne King
am 18 Jun. 2013
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()
0 Kommentare
Weitere Antworten (1)
Jan
am 18 Jun. 2013
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.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!