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