Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы вычисления. Лекция 2 (Part_2)

.pdf
Скачиваний:
18
Добавлен:
16.03.2015
Размер:
531.96 Кб
Скачать

Скрипты и функции Функции

Выполнение функций и файл-скриптов

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

Юдинцев В. В. (ТМ, СГАУ)

Основы MATLAB

10 февраля 2012 г.

11 / 29

Скрипты и функции Функции

Выполнение функций и файл-скриптов

File Set Path

Юдинцев В. В. (ТМ, СГАУ)

Основы MATLAB

10 февраля 2012 г.

12 / 29

Скрипты и функции Функции

Оператор return

Функция прекращает работу после выполнения последнего оператора.

Принудительно завершить функцию можно оператором return.

Юдинцев В. В. (ТМ, СГАУ)

Основы MATLAB

10 февраля 2012 г.

13 / 29

Скрипты и функции Функции

Векторы, как аргументы функции

Большинство встроенных функций MATLAB корректно обрабатывают аргументы - векторы (матрицы).

>sin(1:5)

>0.8415 0.9093 0.1411 -0.7568 -0.9589

Создание собственных функций с таким поведением Аргумент x – только скаляр:

function f = myfun(x) f=exp(-x)*sqrt((x^2+1)/(x^4+0.1))

Аргумент x – вектор или скаляр: function f = myfun(x)

f=exp(-x).*sqrt((x.^2+1)./(x.^4+0.1))

Вызов функции: myfun([0.1 0.2 0.3])

Юдинцев В. В. (ТМ, СГАУ)

Основы MATLAB

10 февраля 2012 г.

14 / 29

Скрипты и функции Функции

Построение графика функции

Функция fplot

fplot(’myfun’,[0 4]) fplot(@myfun,[0 4])

первый аргумент: имя или ссылка на функцию, второй аргумент: диапазон изменения аргумента функции

Юдинцев В. В. (ТМ, СГАУ)

Основы MATLAB

10 февраля 2012 г.

15 / 29

Скрипты и функции Функции

Внутренние функции

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

Файл myfun.m:

function f = myfun(x) f1=infun(x) f=f1+cos(x)

% Внутренняя функция function f = infun(x) f=sin(x)

Переменные, используемые в подфункциях локальные.

Юдинцев В. В. (ТМ, СГАУ)

Основы MATLAB

10 февраля 2012 г.

16 / 29

Скрипты и функции Функции

Вложенные функции

Вложенная функции определяется в теле основной функции. Файл myfun.m:

function f = myfun(x) f1=infun(x) f=f1+cos(x)

function f = infun(x) f=sin(x)

end end

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

Юдинцев В. В. (ТМ, СГАУ)

Основы MATLAB

10 февраля 2012 г.

17 / 29

Управляющие конструкции

Управляющие конструкции Циклы

Оператор цикла for

for count = start:step:final

команды

команды

end

Юдинцев В. В. (ТМ, СГАУ)

Основы MATLAB

10 февраля 2012 г.

19 / 29

Управляющие конструкции Циклы

Оператор цикла while

while условие

команды

команды

end

Юдинцев В. В. (ТМ, СГАУ)

Основы MATLAB

10 февраля 2012 г.

20 / 29