Методы вычисления. Лекция 2 (Part_2)
.pdfОсновы 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 |