MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Asked by karen
on 18 Jun 2013

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.

*No products are associated with this question.*

Answer by Wayne King
on 18 Jun 2013

Edited by Wayne King
on 18 Jun 2013

Accepted answer

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 Comments