Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект.pdf
Скачиваний:
51
Добавлен:
23.07.2020
Размер:
2.68 Mб
Скачать

Решение типовых математических задач

Файлы функций

Мы записывали последовательность команд в скрипт-файл (такой файл еще называют иначе - файл-программа или сценарий). У скрипт-

файла нет ни заголовка, ни входных, ни выходных параметров. Все объекты, используемые внутри script-файла, считаются глобальными, т.е.

они доступны, и их можно использовать до и после выполнения скрипт-

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

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

В процессе работы с системой ML мы уже сталкивались с

встроенными функциями, например, sin (х). У таких функций есть только один входной аргумент (для приведенной функции - это х). В

математике это аргумент, а в программировании говорят – параметр.

Функции используют, чтобы не писать несколько раз одинаковые действия с разными данными, а описать такую последовательность 1 раз и выполнять её сколько угодно раз с разными данными. Надо уметь описывать свои собственные функции, которые производят необходимые действия с входными параметрами, которые могут быть разными при разных вызовах функции, и возвращают результат в виде выходных параметров.

Такая необходимость возникает, прежде всего, при решении задач,

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

Файл-функция, так же как и файл-программа, создаются в редакторе ML и

9

имеют расширение m. Можно создавать файл-функцию с любым количеством входных и выходных параметров.

Файл-функция имеет заголовок, который состоит из ключевого слова function, указываются один или несколько выходных параметров

(вектор выходных значений - в квадратных скобках), знака равенства,

имени функции и списка входных параметров в круглых скобках.

Синтаксическая конструкция заголовка файла-функции:

function [рез.1, рез.2…рез.N] = <имя функции> (пар.1, пар.2,…пар.N)

После заголовка записываются операторы, реализующие алгоритм поставленной задачи. Они составляют тело функции. Заканчивается файлфункция ключевым словом – end (не обязательным)

Переменным из списка выходных параметров в процессе работы функции

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

В общем случае при вызове (активизации) файла-функции нужно указать в квадратных скобках список фактических выходных параметров,

имя функции и в круглых скобках список фактических входных параметров.

Вызвать (активизировать) файл-функцию можно так:

[y1, y2,…,yn]=<имя функции>(<список вх. факт. параметров>)

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

для вызова и не несёт результата.

Вызов файла-функции c одним выходным параметром будет иметь вид:

<имя функции>(<список входных фактических параметров>)

В таком случае вызов может использоваться в операторах присваивания

или в выражении:

<имя переменной>=<имя функции>(<список входных фактических

параметров>)

10