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

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

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

Основы MATLAB

Лекция 2. Программирование

Юдинцев В. В.

Кафедра теоретической механики

Самарский государственный аэрокосмический университет им. академика С. П. Королёва

(национальный исследовательский университет)

yudintsev@termech.ru

10 февраля 2012 г.

Содержание

1 Файловая система

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

Скрипты

Функции

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

Циклы

Операторы ветвления

Обработка исключительных ситуаций

4 Задачи

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

Основы MATLAB

10 февраля 2012 г.

2 / 29

Файловая система

Типы файлов

Типы файлов:

*.m (текст). Содержат тексты программ, определения функций.

*.mat (бинарные). Могут содержать значения переменных.

*.mex (бинарные). MEX-файлы представляют собой динамически подключаемые библиотеки, которые могут быть загружены и исполнены интерпретатором, встроенным в MATLAB. MEX-процедуры имеют также возможность вызывать встроенные команды MATLAB. MEX-файлы позволяют взаимодействовать с внешними приложениями, написанными на языках C и Фортран. Существует возможность вызова подпрограмм, написанных на C или Фортране из MATLAB, как будто это встроенные функции пакета.

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

Основы MATLAB

10 февраля 2012 г.

3 / 29

Файловая система

Два типа m-файлов

файл-скрипт

Любую последовательность команд в MATLAB можно оформить в виде m файла.

По-умолчанию все переменные, объявленные внутри файл-скрипта, являются глобальными.

файл-функция

Файл-функция содержит определение одной или нескольких функций.

По-умолчанию все переменные, объявленные внутри файл-функции, являются локальными.

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

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

Основы MATLAB

10 февраля 2012 г.

4 / 29

Файловая система

Создание m-файлов

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

Для проверки имени можно использовать функцию exist имя функции.

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

Основы MATLAB

10 февраля 2012 г.

5 / 29

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

Файл-скрипт

Запись серии команд без входных и выходных параметров. Свойства

не имеет входных и выходных аргументов;

работают с данными из рабочей области;

в процессе выполнения не компилируются;

представляют собой зафиксированную в виде файла последовательность операций;

все переменные, объявленные в файл-скрипте, являются глобальными.

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

Основы MATLAB

10 февраля 2012 г.

6 / 29

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

Структура файл-скрипта

%комментарии к скрипту,

%которые будут выводится

%по команде

%help file

x=1:0.1:10;

y=sin(x);

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

Основы MATLAB

10 февраля 2012 г.

7 / 29

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

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

Вызов из командной строки (command window)

Запуск из редактора при помощи сочетания Ctrl Enter

Файл-скрипт можно для удобства разделить на ячейки (секции) при помощи удвоенного знака %%

%%секция 1 код ...

%%секция 2 код ...

Код в каждой секции может быть выполнен при помощи Ctrl Enter

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

Основы MATLAB

10 февраля 2012 г.

8 / 29

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

Объявление функции

File New Function

%комментарии к функции,

%которые будут выводится

%по команде

%help func_name

function [out1,out2] = func_name(in1,in2)

%

% тело функции

%

out1=...

out2=...

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

Основы MATLAB

10 февраля 2012 г.

9 / 29

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

Глобальные переменные в функциях

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

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

function res = func_name(in1,in2) global G;

res=G*in1+in2;

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

Основы MATLAB

10 февраля 2012 г.

10 / 29