Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tema5.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
210.94 Кб
Скачать

73

Тема 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. Внутри каждого уровня приоритет одинаковый, вычисления выполняются слева-направо. Можно ставить круглые скобки, чтобы определить необходимый порядок операций

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