MATLAB – Функции
Функция – это группа операторов, которые вместе выполняют задачу. В MATLAB функции определены в отдельных файлах. Имя файла и функции должны совпадать.
Функции работают с переменными в их собственном рабочем пространстве, которое также называется локальным рабочим пространством , отдельно от рабочего пространства, к которому вы обращаетесь в командной строке MATLAB, которое называется базовым рабочим пространством .
Функции могут принимать более одного входного аргумента и могут возвращать более одного выходного аргумента.
Синтаксис оператора функции –
пример
Следующая функция с именем mymax должна быть записана в файл с именем mymax.m . Он принимает пять чисел в качестве аргумента и возвращает максимум чисел.
Создайте файл функции с именем mymax.m и введите в него следующий код –
Первая строка функции начинается с ключевого слова function . Это дает название функции и порядок аргументов. В нашем примере функция mymax имеет пять входных аргументов и один выходной аргумент.
Строки комментариев, которые идут сразу после оператора функции, содержат текст справки. Эти строки печатаются при вводе –
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
Вы можете вызвать функцию как –
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
Анонимные функции
Анонимная функция похожа на встроенную функцию в традиционных языках программирования, определенную в одной инструкции MATLAB. Он состоит из одного выражения MATLAB и любого количества входных и выходных аргументов.
Вы можете определить анонимную функцию прямо в командной строке MATLAB или в функции или скрипте.
Таким образом, вы можете создавать простые функции без необходимости создавать файл для них.
Синтаксис для создания анонимной функции из выражения:
пример
В этом примере мы напишем анонимную функцию с именем power, которая будет принимать два числа в качестве входных данных и возвращать первое число, возведенное в степень второго числа.
Создайте файл сценария и введите в нем следующий код –
Когда вы запускаете файл, он отображает –
Основные и подфункции
Любая функция, кроме анонимной, должна быть определена в файле. Каждый файл функции содержит требуемую первичную функцию, которая появляется первой, и любое количество необязательных подфункций, которые идут после основной функции и используются ею.
Первичные функции могут быть вызваны из-за пределов файла, который их определяет, либо из командной строки, либо из других функций, но подфункции не могут быть вызваны из командной строки или других функций вне файла функции.
Подфункции видны только основной функции и другим подфункциям в файле функций, который их определяет.
пример
Напишем функцию с именем quadratic, которая будет вычислять корни квадратного уравнения. Функция будет принимать три входа: квадратичный коэффициент, линейный коэффициент и постоянный член. Это вернуло бы корни.
Файл функций quadratic.m будет содержать основную функцию quadratic и вспомогательный диск , который вычисляет дискриминант.
Создайте файл функции quadratic.m и введите в него следующий код –
Вы можете вызвать вышеуказанную функцию из командной строки как –
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
Вложенные функции
Вы можете определить функции в теле другой функции. Это так называемые вложенные функции. Вложенная функция содержит любой или все компоненты любой другой функции.
Вложенные функции определены в области действия другой функции и имеют общий доступ к рабочему пространству содержащей функции.
Вложенная функция имеет следующий синтаксис:
пример
Перепишем функцию quadratic из предыдущего примера, однако на этот раз функция диска будет вложенной функцией.
Создайте файл функции quadratic2.m и введите в него следующий код –
Вы можете вызвать вышеуказанную функцию из командной строки как –
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
Частные функции
Закрытая функция – это основная функция, которая видна только ограниченной группе других функций. Если вы не хотите показывать реализацию функции (й), вы можете создать их как частные функции.
Закрытые функции находятся в подпапках со специальным именем private .
Они видны только функциям в родительской папке.
пример
Перепишем квадратичную функцию. На этот раз, однако, функция диска, вычисляющая дискриминант, будет частной функцией.
Создайте подпапку с именем private в рабочем каталоге. Сохраните в нем следующий файл функции disc.m –
Создайте функцию quadratic3.m в вашем рабочем каталоге и введите в нее следующий код:
Вы можете вызвать вышеуказанную функцию из командной строки как –
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
Глобальные переменные
Глобальные переменные могут совместно использоваться более чем одной функцией. Для этого вам нужно объявить переменную как глобальную во всех функциях.
Если вы хотите получить доступ к этой переменной из базовой рабочей области, объявите переменную в командной строке.
Глобальное объявление должно произойти до того, как переменная будет фактически использована в функции. Рекомендуется использовать заглавные буквы для имен глобальных переменных, чтобы отличать их от других переменных.
пример
Давайте создадим файл функции с именем medium.m и наберем в нем следующий код:
Пользовательские функции и файл-скрипты
Любую последовательность команд в MATLAB можно оформить в виде m-файла.
- Файл-скрипт не имеет входных и выходных аргументов.
- Файл-скрипт работает с данными из рабочей области.
- Все переменные, объявленные в файл-скрипте, являются глобальными.
- запустить скрипт из редактора, нажав F5 (MS Windows)
- набрать в консоли (Command window) имя скрипта и нажать Enter.
Во втором случае файл-скрипт должен находится в текущем (рабочем) каталоге
или в списке каталогов, которые просматривает MATLAB. Этот список можно изменить нажав кнопку Set Path на ленте Home

Файл-скрипт можно для удобства разделить на секции при помощи удвоенного знака процента %%. Код в каждой секции можно выполнить отдельно от остального кода, нажав F9 (MS Windows), когда курсор находится в нужной секции.

Файл-функции
- inline функции
- анонимные функции
- файл-функции
Inline-функции
Inline-функция объявляется при следующим образом:
т.е. вызывается функция inline, в которую первым аргументов передается строка — выражение от аргументов функции, которые передаются следующим аргументами также в виде строк. В выражениях inline-функций не могут использоваться имена переменных из рабочей среды, а только переменные – аргументы, объявленные в функции inline.
Вызывается объявленная inline, как и любая другая функция, например, для объявленной выше функции двух переменных:
Анонимные функции
Более практичны в сравнении с inline-функциями анонимные функции, которые могут содержать имена переменных из рабочей среды. Анонимные функции также можно использовать для объявления коротких однострочных функций, создание для которых отдельных m-файлов нецелесообразно.
Анонимная функция объявляется при помощи символа @, за которым в круглых скобках следуют аргументы функции, а затем её выражение, например, для объявления функции \[f(x_1, x_2) = x_1^2 + x_2^2\]
Анонимные функции удобно использовать внутри выражений, например для построения графика функции \(x^2 + sin(x)\) на интервале от 0 до 5 можно написать
но проще использовать анонимную функцию прямо в функции fplot
Файл-функция
- Файл-функция содержит определение одной или нескольких функций.
- По-умолчанию все переменные, объявленные внутри файл-функции, являются локальными.
- Файл-функция является самостоятельным программным модулем, который связан с другими модулями и головной программой через входные и выходные параметры.
Создание файл-функции: File -> New -> Function

По умолчанию все переменные внутри функции являются локальными. Для того, чтобы несколько функций использовали одну переменную, её необходимо объявить глобальной.
Имя файла и имя объявленной в нем функции должны совпадать. Как и для файл-скриптов каталог, в котором содержатся вызываемые функции, должен быть текущим (рабочим) или добавлен в список просматриваемых MATLAB.
Функция прекращает работу после выполнения последнего оператора. Принудительно завершить функцию можно директивой return.
Файл-функция вместе с определением основной функции может содержать определения вспомогательных функций, доступных к вызову только из основной функции. Переменные, используемые во внутренних функциях локальные.
Как создать функцию в матлабе
A function is a block of statements that intend to perform a specific task. Functions allow the users to reuse the code frequently. MATLAB has several predefined functions which are ready to use such as sin(), fact(), cos() etc. MATLAB also allows the users to define their own functions.
Syntax:
function output_params = function_name(iput_params)
% Statements
Matlab Create Function
By
Priya Pedamkar

Introduction to Matlab Create Function
Matlab Create Function play an important role for function implementation is the function name and Matlab file name should be the same. Matlab Function is defined as is a set of instructions that performs specific operations in Matlab, functions need a separate file in Matlab. It is implementation divided into three parts declaration of a function, calling a function and definition of function means function body.
In a function declaration, we declare the name of the function and we declare then what are the parameters are going to operate inside the function body. In function definition we define the function, here we write the actual program logic and statements and the last part is calling a function in this we just call the function whenever required. Matlab Create Function declaration function can assign multiple parameters that can accept multiple values as input and in the definition of a function can return multiple values or multiple arguments. There are various functions in Matlab such as Anonymous functions, Primary and Subfunctions, Nested functions and Private functions. In private function, we can hide important data from unwanted users so private functions provide privacy to code.