
- •Тема 5. Программная реализация математических моделей
- •5.1 Краткая характеристика matlab
- •Формирование массивов в системе matlab
- •Некоторые специальные символы
- •Элементарные математические функции
- •Некоторые графические функции
- •Интерактивный доступ к справочной информации и документации
- •Примеры: a) Найти функции линейной алгебры. Открываем последовательность окон:
- •5.2 Задачи линейной алгебры, вычисление функций и построение графиков
- •5.3. Решение нелинейных алгебраических уравнений и аппроксимация функций
- •Аппроксимация функции
- •5.4 Решение обыкновенных дифференциальных уравнений и вычисление интегралов
- •Вычисление интегралов
- •Контрольные вопросы
Тема 5. Программная реализация математических моделей
Современные математические модели являются сложными и для выполнения расчетов по ним необходимо использовать ЭВМ. Поэтому алгоритмы или методы расчета, приведенные в предыдущей главе, следует перевести на какой-либо язык программирования. В настоящее время для научных разработок популярными являются языки типа ФОРТРАН, СИ, ПАСКАЛЬ. Но для широкого круга пользователей эти языки считаются сложными и поэтому большое распространение получили более понятные специалистам предметной области системы типа EXCEL, MATLAB, MATHCAD, MAPLE и т.д. Мы будем ориентироваться на систему MATLAB, которая используется на лабораторных работах данного учебного курса.
5.1 Краткая характеристика matlab
Система MATLAB (сокращение от MATrix LABoratory – МАТричная ЛАБоратория) разработана фирмой The MathWorks, Inc. (США, г. Нейтик, штат Массачусетс) и является интерактивной системой для выполнения инженерных и научных расчетов, которая ориентирована на работу с массивами данных, позволяет обращения к программам, написанным на языках Fortran, C++. Система поддерживает выполнение операций с векторами, матрицами и массивами данных, поддерживает работу с алгебраическими полиномами, решение дифференциальных и разностных уравнений, решение нелинейных уравнений и задач оптимизации и т.д., а также построение различных видов графиков, трехмерных поверхностей и линий уровня.
Операционная среда системы MATLAB включает командное окно, инструментальную панель, подсистемы просмотра рабочей области и путей доступа, редактор/отладчик М-файлов и др. Пользователь может сам написать программы с помощью редактора М-файлов, которые оформляются в виде М-файлов (М-файлы имеют расширение .m). Каждую программу необходимо создавать, редактировать (т.е. корректировать) и выполнять (т.е. производить расчет).
Для создания новой программы в меню File выбираются опция New и затем M-File; в результате открывается окно редактора М-файлов. В этом окне набирается текст программы. После того как этот текст набран следует сохранить программу с каким-либо именем (для этого в меню File выбирается опция Save as).
Для выполнения программы следует перейти в командное окно и в командной строке, обозначаемой на экране символами >> набрать имя М-файла.
Для редактирования уже созданного М-файла надо из командного окна вернуться в окно редактора с текстом программы.
Формирование массивов в системе matlab
В системе MATLAB основным объектом являются массивы (матрицы и вектора), для которых не требуются явно указывать размерности. Для формирования числового массива числа указываются внутри квадратных скобок, разделитель между числами – пробелы. Для отделения строк матриц используется символ ;. Пример.
Матрица А =
из 3 линий и 2 столбцов записывается в
виде: А = [1 2; 3 4; 5 6].
Для формирования массивов используется символ :. Пример.
Задать вектор С, состоящий из чисел от 0 до 0,5 с шагом 0,1: С = 0 : 0.1 : 0.5. На экране появится строка:
С = 0 0.1 0.2 0.3 0.4 0.5
Если шаг равен 1, то он не задается, например, для задания вектора В, состоящего из чисел 3, 4, 5, 6, 7, можно записать: В = 3 : 7. Тогда на экране появится:
В = 3 4 5 6 7
Символ : используется также для выделения подблоки массива. Пример. Выделить у матрицы А = первый столбец: А (:, 1).
Массивы можно объединять. Пусть x = 1, 2, 3, 4, а y = 5, 6, 7, 8. Тогда фрагмент программы для формирования объединенного массива z будет следующий:
x = 1:4;
y = 5:8;
z = [x; y]
на
экране появится: z
=
Арифметические операции. Используются арифметические операторы сложения +, вычитания –, умножения *, деления / , возведения в степень ^.
p1) .′ поэлементное транспонирование (строки заменяются столбцами, для комплексных
матриц комплексное сопряжение не выполняется).
Например,
пусть
A = [3 4 5], тогда
A.′
=
.
p1) .^ поэлементное возведение в степень, А.^B.
Например,
пусть
A = [3 2 1; 1 4 0],
тогда A.^2
=
.
p1) ′ - транспонирование матрицы. Для комплексных матриц транспонирование дополняется
комплексным сопряжением.
Например
пусть
A = [3 2 1; 1 4 0], тогда
А′
=
.
p1)
^
возведение матрицы в степень, А^р (только
для квадратных матриц и для целых чисел
p). Например,
пусть матрица A
=
.
Тогда A^2
=
p2) .* поэлементное перемножение двух массивов одинакового размера.
Например,
пусть A
=
B =
,
тогда
А.*В
=
На
скаляр умножаются все элементы массива,
например, пусть A
=
.
Вычислить F =3*A. Получим
F =
.
p2) * умножение матриц, А*В.
Например,
пусть A
=
B =
.
Тогда А *В =
.
p2) ./ поэлементное деление массивов. Массивы должны быть одинаковых размеров или массив делится на скаляр. Например, пусть A = . Тогда B./3 = .
p3) + сложение и - вычитание для скаляров, векторов и матриц.
Например,
пусть A
=
и B =
.
Тогда А - В
=
.
PS: Операции типа p1 выполняются раньше, чем p2, а p2 раньше, чем p3. Внутри каждого уровня приоритет одинаковый, вычисления выполняются слева-направо. Можно ставить круглые скобки, чтобы определить необходимый порядок операций