Как использовать вложенные функции в MATLAB

Kak Ispol Zovat Vlozennye Funkcii V Matlab



Вложенные функции в MATLAB могут определять функции внутри других функций. Это может быть полезно для организации кода, улучшения возможности его повторного использования и повышения производительности.

Вложенная функция — это функция, созданная внутри другой функции в MATLAB. Особенность вложенных функций заключается в том, что они могут использовать и изменять переменные, определенные в родительской функции.

Синтаксис







Эти вложенные функции в MATLAB могут легко обращаться к переменным родительской функции. Вот синтаксис для определения вложенных функций в MATLAB:



функция родитель

дисп ( «Родительская функция» )

вложенный эффект

функция вложенный эффект

дисп ( 'Вложенная функция' )

конец

конец

Пример кода

Ниже мы привели код MATLAB вложенной функции:



функция родительская функция

х = 10 ;



вложенная функция1 ( )



% Вложенная функция 1

функция вложенная функция1

дисп ( «Внутри вложенной функции1» ) ;

дисп ( Икс ) ; % Доступ к переменной x из родительской функции

и = двадцать ;



вложенная функция2 ( )



% Вложенная функция 2

функция вложенная функция2

дисп ( «Внутри вложенной функции2» ) ;

дисп ( Икс ) ; % Доступ к переменной x из родительской и вложенной функции 1

дисп ( и ) ; % Доступ к переменной y из вложенной функции 1

конец

конец

конец

Выше MATLAB определяет имя основной функции как родительская функция , и он определяет две вложенные функции: вложенная функция1 и вложенная функция2 .





Вложенная функция1 отображает значение переменной x из родительской функции и определяет другую переменную y. После этого он вызовет функцию с именем nestedFunction2.

Вложенная функция2 отображает значение x из родительской функции и вложенной функции1, а также значение y из вложенной функции1. После выполнения кода на выходе будут отображаться сообщения от обеих вложенных функций вместе со значениями x и y.



  Скриншот компьютера Описание автоматически сгенерировано со средней достоверностью

Совместное использование переменных из вложенных функций в основную функцию

В MATLAB мы также можем определять переменные и передавать их из вложенной в основную функцию.

функция родитель

вложенная функция

функция вложенная функция

х = 10 ;

конец

х = х+ 1 ;

дисп ( Икс ) ;

конец

Этот код MATLAB определяет функцию с именем parent, которая содержит вложенную функцию с именем вложенная функция . Код присваивает переменной x значение 10 в функции nestedfunc, затем увеличивает его на 1 в родительской функции и отображает результат.

Вложение нескольких функций в одну родительскую функцию

В MATLAB мы также можем включать несколько функций в одну основную родительскую функцию.

% несколько функций под одной и той же родительской функцией

функция родитель

вложенная функция1

вложенная функция2

функция вложенная функция1

fprintf ( 'linuxhint.com\n' ) ;

конец

функция вложенная функция2

fprintf ( «Добро пожаловать в Linuxhint» ) ;

конец

конец

Этот код MATLAB определяет функцию с именем parent, которая содержит две вложенные функции:nestedfunc1 иnestedfunc2. При вызове родительской функции выполняются обе вложенные функции. nestedfunc1 выводит сообщение Linuxhint.com, а nestedfunc2 выводит сообщение «Добро пожаловать в Linuxhint».

  Картинка с текстом, шрифтом, скриншотом. Описание генерируется автоматически.

Совместное использование переменных среди вложенных функций

В MATLAB мы также можем определять и совместно использовать переменные функций с одним родителем с двумя вложенными функциями.

% две вложенные функции под одной и той же родительской функцией

функция родитель

х = 5

вложенный1

вложенный2

функция вложенный1

х = х* 2 ;

конец

функция вложенный2

х = х+ 5 ;

конец

дисп ( Икс )

конец

Этот код MATLAB определяет функцию с именем parent, которая объявляет переменную x со значением 5. Затем она содержит две вложенные функции:nested1 иnested2.

Во вложенном1 значение x умножается на 2, но, поскольку x не передается явно в качестве аргумента, внутри вложенного1 создается новая локальная переменная x вместо изменения внешней переменной x.

В вложенном2 значение x увеличивается на 5, также создается новая локальная переменная x в вложенном2.

После выполнения вложенных функций код отображает значение внешней переменной x, которая остается неизменной на уровне 5, поскольку изменения, сделанные во вложенных функциях, влияют только на локальные переменные внутри этих функций, а не на внешнюю переменную.

  Изображение, содержащее текст, снимок экрана, программное обеспечение, строку Описание генерируется автоматически

Заключение

Вложенные функции в MATLAB могут упорядочивать код, расширять возможности повторного использования и повышать производительность. Они позволяют функциям получать доступ к переменным, определенным в их родительских функциях, и изменять их, обеспечивая лучшую инкапсуляцию кода. Вложенные функции уменьшили потребность в глобальных переменных или передаче нескольких аргументов между функциями. В этой статье рассматриваются различные примеры вложенных функций в MATLAB.