Скрипты по сравнению с функциями

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

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

Создайте скрипт в файле с именем 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.

Похожие темы

Была ли эта тема полезной?