- •Численные методы
- •Содержание
- •Введение
- •1. Вычисление определенных интегралов Справочная информация
- •Формула средних прямоугольников
- •Формула трапеций
- •Формула Симпсона (j.Gregory(Грегори)1668,Th.Simpson1743)
- •Пример решения в среде Matlab
- •Контрольные задания
- •2. Решение нелинейных уравнений Справочная информация
- •Метод простых итераций Метод основывается на приведении исходного уравнения к форме
- •Относительная разница между значениями приближения корня на третьей и четвёртой итерациях составляет
- •Метод хорд
- •Пример решения на пэвм в среде Matlab
- •Контрольные задания
- •3. Решение систем линейных алгебраических уравнений Справочная информация
- •Метод Гаусса с выбором главного элемента
- •Метод простых итераций
- •О выборе метода решения систем уравнений
- •Пример решения на пэвм в среде Matlab
- •Контрольные задания
- •4. Интерполяция таблично заданных функций Справочная информация
- •Кусочно-линейная интерполяция
- •Пример решения на пэвм в среде Matlab
- •Контрольные задания
- •5. Аппроксимация таблично заданных функций Справочная информация
- •Пример решения на пэвм в среде Matlab
- •Контрольные задания
- •6. Решение задачи коши для обыкновенных дифференциальных уравнений 1-го порядка Справочная информация
- •Усовершенствованный метод Эйлера
- •Оценка погрешностей методов
- •Программное обеспечение
- •Пример решения на пэвм в среде Matlab
- •Контрольные задания
- •7. Решение задачи коши для нормальных систем обыкновенных дифференциальных уравнений и уравнений высших порядков Справочная информация
- •Метод Эйлера
- •Усовершенствованный метод Эйлера
- •Оценка погрешностей методов
- •Пример решения на пэвм в среде Matlab
- •Контрольные задания
- •Приложение. Основы работы в среде matlab Интерфейс среды
- •Переменные и константы
- •Арифметические операторы
- •Операторы отношения
- •Логические операторы
- •Элементарные функции
- •Простейшие способы ввода–вывода информации
- •Векторы и матрицы
- •Оператор двоеточие «:»
- •Оператор разветвления if
- •Операторы циклов
- •Вывод информации в файл
- •Форматный вывод информации
- •Ввод данных из файла
- •Построение графиков
- •Сообщения об ошибках и исправление ошибок
- •Список литературы
Контрольные задания
Получить решение задачи Коши на указанном отрезке с использованием метода из числа рассматриваемых в этом разделе. Подобрать величину шага интегрирования так, чтобы относительная погрешность решения задачи не превышала 0.1%.
1. .
2. .
3. .
4. .
5. .
6. ,
.
7. .
8. .
9. .
10.
.
11. .
12. ,
.
13. .
14. .
15. .
16. ,
.
17. .
18. .
19. .
20. .
21. .
22. .
23. ,
.
24. .
25. ,
.
26. .
27. .
28. .
29. .
30. .
Приложение. Основы работы в среде matlab Интерфейс среды
Название Matlabявляется сокращением от Matrix Laboratory. Первый вариант этого пакета прикладных программ был создан компанией Math Works около двадцати лет назад. Matlabявляется мощным и достаточно универсальным средством решения задач, возникающих в различных областях науки и техники. Перечень проблем, исследование которых может быть осуществлено при помощи Matlab’а и его расширений (Toolbox), охватывает матричный анализ, обработку сигналов и изображений, задачи математической физики, оптимизационные задачи, статистическую обработку данных и их визуализацию, и многое другое. С его помощью можно производить практически все инженерные расчёты.
При загрузке системы Matlabна экране монитора появляется основное окно системы (см. рис.1), в котором можно выделить:
окно команд (Command Window);
окно навигации по папкам внешней памяти компьютера (Current folder);
окно истории команд (Command History);
окно рабочей среды (Workspace).
Рис.1.
В такой ситуации система готова к проведению вычислений и созданию программ в командном режиме.
Для проведения вычислений необходимые команды – программы записываются на встроенном языке Matlab’а непосредственно в командном окне. Каждая инструкция пишется после символа «>>» и запускается на выполнение клавишей «Еnter». Сюда же выводятся результаты вычислений.
Последовательность операций, выполненных после загрузки среды до ее закрытия, называется сессией. В окне истории команд можно просмотреть последовательность выполненных в данной сессии команд.
В окне рабочей среды можно просмотреть все переменные, которые используются в данной сессии, их размерность, используемый тип данных и пределы изменения. При этом щелчок мышью на маркер слева от идентификатора переменной позволяет просмотреть (см. рис.2) полученные в текущей сессии её значения в форме таблицы (Variable Editor).
Рис.2.
Следует отметить, что переменные, которые используются в командах в течение сессии, сохраняются в памяти ПЭВМ. Поэтому, если идёт отладка и программа меняется так, что используемые массивы были изменены свою размерность на меньшую, то при запуске отредактированной программы на выполнение в памяти ЭВМ останутся ранее вычисленные, уже не нужные значения элементов старого массива. В связи с этим при каждом запуске программы на выполнение целесообразно очищать память ЭВМ. Это можно сделать следующим образом: активизировать окно Workspace, выделить все, нажав сочетание клавиш «Ctrl+A», а затем для очистки памяти нажать клавишу «Del».
Как было сказано выше, перечень выполняемых команд можно записывать в командном окне, однако это не рекомендуется делать. Связано это с тем, что введённый перечень команд после их выполнения не редактируется и не сохраняется. В случае ошибки или необходимости изменения команд приходится их записисывать заново или копировать и исправлять перед следующим выполнением.
В такой ситуации в среде Matlab’а предпочтительнее создавать текстовый файл программы (скрипта, сценария) с помощью встроенного редактора. Он вызывается из основного меню среды цепочкой команд (опций) «file new script» (см. рис.3) или использованием сочетаний клавиш «Ctrl+N». После этого в появившемся окне
Рис.3.
встроенного редактора (см. рис.4) можно писать тест программы и затем сохранить его во внешней памяти компьютера в виде m-файла. Помимо этого меню тестового редактора имеет команды копирования, вырезания, вставки, контекстного поиска и замены, печати, запуска программы на выполнение и так далее (см. рис.5). В частности, запуск программы на выполнение может осуществляться с помощью команды «run» контекстного меню данногоm-файла или с помощью пиктограммы в окне редактора.
Рис.4.
Рис.5.
Процедуры запуска программы на выполнение и её отладки имеют своё отображение в меню редактора:
опция отладчика Debug – пошаговое выполнение с подкомандами Step, Step in, Step out, Go until cursor, Exit debug mode и так далее;
опция Braikpoints – установка точек останова путем щелчка мышью справа от номера строки программы;
опция просмотра значений переменных, путем наведения курсора на интересующую переменную;
опция поиска функций по категориям и получения справки по ним (см. рис.6) и прочее.
Рис.6.
Текст программы, который сохраняется в m-файле, состоит из двух типов строк: комментария к тексту порограммы, который начинается с символа %, и самих строк программы, реализующих необходимые действия. Здесь надо помнить следующие важные свойства файлов-сценариев:
они не имеют входных и выходных аргументов;
работают с данными из рабочей области;
в процессе выполнения они не компилируются;
они представляют собой последовательность операций, записанную по правилам встроенного языка, аналогичную той, что используется в командном окне.
Следует отметить, что если в процессе отладки программы в течение одной сессии при повторном запуске изменяются только часть переменных, то в рабочей области сохраняются все те значения, которые были вычислены в предыдущем запуске, но при повторном запуске не менялись.
Кроме основного m-файла,m-файла–сценария, в Matlab’е используютсяm-файл–функции. Отличиеm-файла–функции отm-файла–сценария состоит в том, что он является аналогом подпрограммы типаfunction, используемой во многих языках программирования. Структураm-файла–функции с одним выходным параметром имеет вид:
function v = fname(Список параметров)
% комментарий, если необходимо
v = выражение
M-файл–функция создается и используется в соответствии со следующими правилами:
m-файл–функция начинается с ключевого словаfunction, после которого указывается имя переменной – выходного параметра, имя самой функции и список её входных параметров, отделенных запятой;
имя m-файла–функции должно совпадать с самой функции, поскольку Matlabавтоматически присваивает данное имя при выполнении команды средыSave as;
результат выполнения m-файла–функции присваивается имени функции, которое может использоваться в математических выражениях подобно функциям sin(x), log(x) и прочее;
все переменные, используемые в m-файл–функции, являются локальными, т.е. действуют только в пределах тела функции;
m-файл–функция является самостоятельным программным модулем, который связан с другими модулями и основной программой через входные и выходные параметры;
при обнаружении m-файл–функции он компилируется и затем исполняется.