Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 2 MATLAB prg.doc
Скачиваний:
6
Добавлен:
17.08.2019
Размер:
4.99 Mб
Скачать
    1. Структура и свойства файлов функций Файл функция – это типичный объект языка программирования системы matlab.

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

Имеет следующую структуру для функции с одним выходным параметром:

function var=f_name(Список_параметров)

%Основной комментарий

%Дополнительный комментарий

Тело файла с любым выражением

var=<выражение> % вводится, если требуется, чтобы функция возвращала

результат вычислений

Для нескольких выходных параметров:

function [var1,var2,…]=f_name(Список_параметров)

%Основной комментарий

%Дополнительный комментарий

Тело файла с любыми выражениями

var1=<выражение>

var2=<выражение> % Такая функция напоминает процедуру, т.к. возвращает множество результатов по числу выходных параметров.

Свойства файла функции:

- начинается с объявления function, с указанием имени переменной var – выходного параметра, знака = и имени самой функции со списком ее входных параметров;

- функция возвращает свое значение и может использоваться в виде

name(Список_параметров) в математических выражениях;

- все переменные в теле файла являются локальными;

- является самостоятельным программным модулем;

- правила вывода комментариев те же, что у фалов сценариев;

- при обнаружении файла функции, он компилируются, и затем исполняется, а созданные машинные коды хранятся в рабочей области системы MATLAB;

- служит средством расширения системы MATLAB.

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

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

Локальные переменные могут иметь те же имена, что и глобальные.

Рассмотрим пример задания файла функции crlc(x,y)

function z=crcl(x,y) % x, y –параметры, являются локальными

z=x^2+y^2 % тело функции

Cохраним файл под именем, например, crcl.m.

В командной строке Command Window необходимо задать конкретные значения аргументов x и y, вызвать файл функцию по имени и получить результат расчета.

>> x=0; y=0; %задание входных параметров вне тела функции

>> w=crcl(2,3) % вызов функции при аргументах x=2, y=3

z

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

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

А переменная z, определенная в теле функции так же будет локальной. Изначально ее значение будет не определено. В теле функции переменная принимает значение z=13. А после возврата из функции, переменная остается не определенной. На что указывается сообщение:

=

13

w=

13

>>x

x=

0

>>y

y=

0

>> z

??? undefined function or variable ′z′

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

Function z=crcl(x,y)

z=x^2+y^2;

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

Команда global var1 var2… позволяет объявлять переменные модуля-функции глобальными во всех m-файлах, используемых в решении данной задачи.

Имена функций должны быть уникальными.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]