Материал: Sb98338

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Список рекомендуемой литературы

1.Мирошников А. Н., Румянцев С. Н. Моделирование систем управления технических средств транспорта: учеб. издание. СПб.: Элмор, 1999.

2.Компьютерное моделирование систем управления движением морских подвижных объектов / Е. И. Веремей, В. М. Корчанов, М. В. Коровкин, С. В. Погожев; НИИ Химии СПбГУ. СПб., 2002.

26

ПРИЛОЖЕНИЯ

1. Основы работы в интегрированной среде MATLAB

Общие сведения

MATLAB – это высокопроизводительная инструментальная система для математической поддержки научно-технической деятельности. Система обеспечивает выполнение вычислений и визуализацию их результатов с использованием программирования в удобной интегрированной среде в форме, которая близка к математической.

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

В MATLAB важная роль отводится специализированным пакетам прикладных программ (ППП), называемых toolboxes. Они носят проблемно ориентированный характер и применяются для высокоэффективного решения частных задач с использованием специализированных вычислительных методов.

Система MATLAB состоит из шести основных элементов:

1.Интегрированная среда – набор интерфейсных инструментов, находящихся на рабочем столе системы, с которыми работает пользователь при выполнении отдельных команд или при разработке приложений с написанием программного кода. Среда включает в себя средства управления переменными в рабочем пространстве MATLAB, вводом и выводом данных, а также средства формирования, редактирования контроля и отладки программных текстов и сохранения их в виде файлов.

2.Язык программирования MATLAB – язык высокого уровня, позволяющий оперировать с векторами и матрицами как с единым целым. Он позволяет управлять ходом вычислений, использовать функции и структуры данных, осуществлять ввод и вывод данных. Существенная роль отводится средствам объектной технологии.

3.Управляемая графика – графическая подсистема системы MATLAB, которая включает в себя команды высокого уровня для визуализации двух- и трехмерных данных, обработки изображений, выполнения анимации и формирования иллюстрированной графики. Графическая подсистема также включает в себя команды низкого уровня, позволяющие полностью контро-

27

лировать внешний вид графических объектов. С ее помощью осуществляется разработка графического интерфейса (GUI) пользователя для управления функционированием создаваемых приложений.

4.Библиотека математических функций – обширная коллекция вычислительных алгоритмов, охватывающих практически все разделы современных численных методов. Библиотека позволяет работать с элементарными и специальными функциями, комплексными числами, полиномами и матрицами.

5.Пакеты прикладных программ. Совокупность ППП по существу неограниченно расширяет возможности системы MATLAB за счет проблемной специализации вычислительных методов для решения прикладных задач в различных научно-технических областях. В настоящее время версия 6.5 системы включает в себя около 40 ППП.

6.Подсистема Simulink моделирования динамических объектов – интерактивное инструментальное средство, непосредственно взаимодействующее

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

Элементарные операции с матрицами

Представление чисел. Числа в MATLAB могут быть целыми, дробными, с фиксированной и плавающей точкой, комплексными. Приведем примеры представления чисел:

Вещественные числа

Комплексные числа

1

3i

-2

-2j

4.321

2+4i

0.000000001

-0.0001j

987.6543е-21

-5.4321i

-123.567е10

-123.45+1.2e-4i

Переменные. Система MATLAB выполняет различные действия над переменными, каждая из которых имеет некоторое имя. Имена назначаются пользователем или системой и формируются как произвольные последовательности латинских букв и цифр (допустим также символ подчеркивания), начинающиеся обязательно с буквы. При этом система различает прописные и строчные буквы. Указание имени новой переменной в левой части опера-

28

тора присваивания приводит к ее автоматическому размещению в оперативной памяти, трактуемой в среде как «рабочее пространство» (WorkSpace). Удалить переменную из рабочего пространства можно только с помощью команды clear.

Системные переменные. В системе по умолчанию определены некоторые часто используемые переменные, основными из которых являются следующие:

i или j – мнимая единица 1 ;

pi – число = 3.141592653589793…;

inf – значение машинной бесконечности;

ans – переменная, в которой хранится результат выполнения последней операции (создается автоматически, когда не определены выходные аргументы какой-либо команды);

NaN – указание на нечисловой характер данных (Not-a-Number);

Для очистки рабочего пространства используются следующие варианты команды clear:

clear – уничтожение всех переменных; clear x – уничтожение переменной x;

clear a, b, c – уничтожение нескольких указанных переменных. Задание матриц. Для задания некоторых матриц стандартного вида в

систему MATLAB включены функции:

1.zeros(m,n) – нулевая матрица размера n m ;

2.eye(n) – единичная матрица размера n n ;

3.ones(n,m) – матрица размера n m , все компоненты которой равны 1.

4.rand(n,m) – матрица размера n m со случайными компонентами, которые равномерно распределены на отрезке [0,1].

Прочие векторы и матрицы задаются вручную по следующим правилам: значения элементов матрицы перечисляются в квадратных скобках, элементы

встроке разделяются пробелами или запятыми, строки разделяются точкой с запятой (;). Ниже приведены примеры формирования векторов и матриц.

V1=[1 2 3] – вектор-строка из трех элементов со значениями 1, 2 и 3. V2=[1;4;7] – вектор-столбец из трех элементов со значениями 1, 4 и 7. M=[1 2 3; 4 5 6; 7 8 9] – матрица размера 3 3 следующего вида:

1

2

3

M 4

5

6 .

 

8

 

7

9

 

 

 

29

Совершенно аналогично задаются блочные матрицы (состоящие из векторов и матриц).

Для определения размерности вектора служит функция length(V), размерность матрицы можно определить при помощи функции size(M).

Для указания отдельной компоненты вектора или матрицы используются выражения вида V(i) или M(i, j).

Оператор перечисления (:). Этот оператор широко используется в различных формах для упрощения ряда манипуляций с матрицами, в частности: t = t1:h:t2 – формирование вектора-строки, представляющего собой числовую последовательность от t1 до t2 с шагом h (по умолчанию шаг равен едини-

це, для убывающей последовательности шаг должен быть отрицательным); A(n1:n2,m1:m2) – выделение блока из состава матрицы А, ограниченного

строками n1 и n2 и столбцами m1 и m2 (если перечисляются все строки или столбцы, можно указать просто оператор перечисления без чисел). Например, выражение A(4,:) выделяет 4-ю строку матрицы А.

При необходимости удаления отдельных строк или столбцов матрицы, используется пустая матрица ([]). Например, выражение M(2,:)=[] удаляет 2-ю строку матрицы M.

Простейшие операции с матрицами. Операции сложения, вычитания и умножения матриц выполняются в соответствии с обычными правилами линейной алгебры в естественной форме записи с операторами (+, -, *). Размерности матриц должны быть согласованы. Согласования не требуют только арифметические операции между матрицей и числом. Знак точки (.) перед знаком операции означает, что операция над матрицами будет производиться над каждым элементом матрицы отдельно – поэлементно.

Операция транспонирования матрицы выполняется с использованием символа (').

Для вычисления определителя квадратной матрицы используется команда (функция) det. Операция обращения квадратной матрицы выполняется с помощью команды inv. Для поиска собственных чисел квадратной матрицы используется команда eig.

Операции с полиномами

Формирование. Полиномы P(s) pnsn pn 1sn 1 ... p1s p0 в среде MATLAB представляются в виде векторов-строк p pn pn 1 ... p1 p0 , со-

держащих коэффициенты полиномов, начиная с коэффициента при старшей степени.

30