Эта тема обсуждает различия между скриптами и функциями, и показывает, как преобразовать скрипт в функцию.
И скрипты и функции позволяют вам последовательностям повторного использования команд путем хранения их в программных файлах. Скрипты являются самым простым типом программы, поскольку они хранят команды точно, когда вы ввели бы их в командной строке. Однако функции более гибки и более легко расширяемы.
Создайте скрипт в файле с именем 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
.