В этом разделе рассматриваются различия между сценариями и функциями и показано, как преобразовать сценарий в функцию.
Оба сценария и функции позволяют повторно использовать последовательности команд, сохраняя их в программных файлах. Сценарии представляют собой простейший тип программы, поскольку они хранят команды точно так же, как их можно ввести в командной строке. Однако функции являются более гибкими и более легко расширяемыми.
Создание сценария в файле с именем triarea.m вычисляет площадь треугольника:
b = 5; h = 3; a = 0.5*(b.*h)
После сохранения файла можно вызвать сценарий из командной строки:
triarea
a =
7.5000Чтобы вычислить площадь другого треугольника с помощью того же сценария, можно обновить значения b и h в сценарии и повторно запустите его. При каждом запуске скрипт сохраняет результат в переменной с именем a в базовой рабочей области.
Однако вместо того, чтобы обновлять сценарий вручную каждый раз, можно сделать программу более гибкой, преобразовав ее в функцию. Заменить операторы, присваивающие значения b и h с оператором объявления функции. Декларация включает в себя function ключевое слово, имена входных и выходных аргументов и имя функции.
function a = triarea(b,h) a = 0.5*(b.*h); end
После сохранения файла можно вызвать функцию с различными значениями базы и высоты из командной строки без изменения сценария:
a1 = triarea(1,5) a2 = triarea(2,10) a3 = triarea(3,6)
a1 =
2.5000
a2 =
10
a3 =
9Функции имеют собственную рабочую область, отдельную от базовой рабочей области. Поэтому ни один из вызовов функции не выполняется. triarea перезаписать значение a в базовом рабочем пространстве. Вместо этого функция присваивает результаты переменным a1, a2, и a3.