- •Федеральное агентство по образованию
- •2404000000-35 Удк 681.142:519.6
- •Оглавление
- •1. Основы работы в Mathcad 10
- •2. Роль численных методов 36
- •3. Методы аппроксимации и интерполирования 42
- •4. Лабораторная работа № 1. Интерполирование степенными многочленами 44
- •5. Лабораторная работа № 2. Параметрическая идентификация математических моделей методами аппроксимации 65
- •6. Решение систем линейных алгебраических уравнений 93
- •7. Лабораторная работа № 3. Решение систем линейных уравнений приближенными методами 109
- •8. Лабораторная работа № 4. Решение нелинейных уравнений приближенными методами 142
- •9. Лабораторная работа № 5. Решение систем нелинейных уравнений приближенными методами 174
- •10. Лабораторная работа № 6. Решение обыкновенных дифференциальных уравнений первого порядка численными методами 197
- •11. Лабораторная работа № 7. Численное интегрирование 212
- •12. Лабораторная работа № 8. Моделирование реактора идеального вытеснения для многостадийной химической реакции с линейной кинетикой 226
- •13. Лабораторная работа № 9. Расчет моделей процессов диффузии и теплопроводности с помощью явной разностной схемы 249
- •Предисловие
- •1. Основы работы в Mathcad
- •1.1. Панели инструментов
- •1.2. Ввод и вывод данных
- •1.3. Осуществление несложных вычислений
- •1.4. Построение и настройка графиков
- •1.5. Программирование в Mathcad
- •1.5.1. Программирование без программирования
- •1.5.2. Язык программирования Mathcad
- •1.5.3. Создание программы (Add Line)
- •1.5.4. Редактирование программы
- •1.5.5. Локальное присваивание ()
- •1.5.6. Условные операторы (if, otherwise)
- •1.5.7. Операторы цикла (for, while, break, continue)
- •1.5.8. Возврат значения (return)
- •1.5.9. Перехват ошибок (on error)
- •1.5.10. Примеры программирования
- •2. Роль численных методов
- •2.1. Этапы решения задачи на компьютере
- •2.2. Математические модели
- •2.3. Численные методы
- •3. Методы аппроксимации и интерполирования
- •4. Лабораторная работа № 1. Интерполирование степенными многочленами
- •4.1. Постановка задачи
- •4.2. Порядок выполнения работы
- •4.3. Краткие теоретические сведения
- •4.3.1. Метод неопределенных коэффициентов
- •4.3.2. Интерполяционный многочлен Лагранжа
- •4.3.3. Интерполяционные формулы Ньютона для равностоящих узлов
- •4.4. Примеры выполнения
- •4.4.1. Интерполирование степенными многочленами с использованием метода неопределенных коэффициентов
- •4.4.2. Интерполирование степенными многочленами с использованием второй интерполяционной формулы Ньютона
- •4.5. Требования к отчету
- •4.6. Контрольные вопросы и задания
- •4.7. Задания
- •5. Лабораторная работа № 2. Параметрическая идентификация математических моделей методами аппроксимации
- •5.1. Постановка задачи
- •5.2. Порядок выполнения работы
- •5.3. Краткие теоретические сведения
- •5.3.1. Метод выбранных точек
- •5.3.2. Метод средних
- •5.3.3. Метод наименьших квадратов
- •5.4. Примеры выполнения
- •5.4.1. Аппроксимация с использованием метода выбранных точек
- •5.4.2. Аппроксимация с использованием метода средних
- •5.4.3. Аппроксимация с использованием метода наименьших квадратов
- •5.4.4. Сравнительный анализ методов аппроксимации
- •5.5. Требования к отчету
- •5.6. Контрольные вопросы и задания
- •5.7. Задания
- •6. Решение систем линейных алгебраических уравнений
- •6.1. Общие положения
- •6.2. Точные методы решения систем линейных уравнений
- •6.2.1. Метод Крамера
- •6.2.2. Метод Гаусса
- •6.2.3. Метод обращения матриц
- •7. Лабораторная работа № 3. Решение систем линейных уравнений приближенными методами
- •7.1. Постановка задачи
- •7.2. Порядок выполнения работы
- •7.3. Краткие теоретические сведения
- •7.3.1. Математическое описание реактора идеального смешения непрерывного действия
- •7.3.2. Математическое описание кинетических закономерностей химических превращений
- •7.3.4. Приближенные методы решения систем линейных уравнений
- •7.3.4.1. Метод простых итераций
- •7.3.4.2. Метод Зейделя
- •7.4. Примеры выполнения
- •7.4.1. Пример выполнения задания точным методом
- •7.4.2. Пример выполнения задания методом итераций и методом Зейделя
- •7.5. Требования к отчету
- •7.6. Контрольные вопросы и задания
- •7.7. Задания
- •8. Лабораторная работа № 4. Решение нелинейных уравнений приближенными методами
- •8.1. Постановка задачи
- •8.2. Порядок выполнения работы
- •8.3. Краткие теоретические сведения
- •8.3.1. Этапы решения нелинейного уравнения
- •8.3.4. Метод деления отрезка пополам (вилки, дихотомии)
- •8.3.5. Метод Ньютона (метод касательных)
- •8.3.6. Метод простых итераций
- •8.4. Пример выполнения задания методом итераций
- •8.5. Требования к отчету
- •8.6. Контрольные вопросы и задания
- •8.7. Задания
- •9. Лабораторная работа № 5. Решение систем нелинейных уравнений приближенными методами
- •9.1. Постановка задачи
- •9.2. Порядок выполнения работы
- •9.3. Краткие теоретические сведения
- •9.3.1. Метод Ньютона
- •9.3.2. Метод итераций
- •9.4. Примеры выполнения
- •9.4.1. Метод Ньютона
- •9.4.2. Метод итераций
- •9.5. Требования к отчету
- •9.6. Контрольные вопросы и задания
- •9.7. Задания
- •10. Лабораторная работа № 6. Решение обыкновенных дифференциальных уравнений первого порядка численными методами
- •10. 1. Постановка задачи
- •10.2. Порядок выполнения работы
- •10.3. Краткие теоретические сведения
- •10.3.1. Метод Эйлера
- •10.3.2. Модифицированный метод Эйлера
- •10.3.3. Метод Эйлера-Коши
- •10.3.4. Метод Рунге-Кутта 4-го порядка
- •10.4. Примеры выполнения
- •10.4.1. Реализация метода Эйлера в математическом редактореMathcad
- •10.4.2. Решение обыкновенного дифференциального уравнения 1-го порядка с помощью функции rkfixed
- •10.5. Требования к отчету
- •10.6. Контрольные вопросы и задания
- •10.7. Задания
- •11. Лабораторная работа № 7. Численное интегрирование
- •11. 1. Постановка задачи
- •11.2. Порядок выполнения работы
- •11.3. Краткие теоретические сведения
- •11.3. 1. Метод прямоугольников
- •11.3.2. Метод трапеций
- •11.4. Пример выполнения
- •11.5. Требования к отчету
- •11.6. Контрольные задания
- •1 Таблица 101.7. Задания
- •12. Лабораторная работа № 8. Моделирование реактора идеального вытеснения для многостадийной химической реакции с линейной кинетикой
- •12. 1. Постановка задачи
- •12.2. Порядок выполнения работы
- •12.3. Краткие теоретические сведения
- •12.3.1. Математическая модель реактора идеального вытеснения
- •12.3.2. Численное решение систем дифференциальных уравнений
- •12.4. Пример выполнения
- •12.5. Проверка расчета с помощью функции rkfixed
- •12.6. Требования к отчету
- •12.7. Контрольные вопросы и задания
- •1 Таблица 112.8. Задания
- •13. Лабораторная работа № 9. Расчет моделей процессов диффузии и теплопроводности с помощью явной разностной схемы
- •13.3.2. Решение уравнений в частных производных
- •13.3.3.Метод сетки
- •13.3.4. Явная разностная схема
- •13.3.5. Условия устойчивости явной разностной схемы
- •13.4. Пример выполнения
- •13.5. Требования к отчету
- •13.6. Контрольные вопросы и задания
- •13.7. Задания
- •Библиографический список
- •Использование
10.3.3. Метод Эйлера-Коши
Необходимо решить уравнение (101): . Проведем в точкекасательнуюIк функцииx(t)(рис. 88). Она пройдет под углом. Пересечение касательнойIс вертикальюti+1 назовем промежуточной точкойxi*.
Если предположить, что функция x(t) проходит через промежуточную точку (xi*,ti+1), то в ней также можно построить касательнуюIIк функцииx(t). КасательнаяIIпройдет под углом .
Проведем через точку (xi*,ti+1) прямуюIIIпод угломтак, чтобы выполнялось равенство:
.
Через точку (xi,ti) проведем прямуюIVпараллельно прямойIII. Она тоже пройдет под углом. Точка пересечения прямойIVс вертикальюti+1представляет собой следующую искомую точку (xi+1,ti+1) функцииx(t).
Осуществим вывод формулы для расчета функции x(t).
Согласно рис. 88:
,
где xi,xi+1– текущая и последующая точки функцииx(t)соответственно;
Δx– приращение функцииx(t)на интервалеΔt.
Рис. 88. Иллюстрация к методу Эйлера-Коши
Величину Δxнайдем из прямоугольного треугольника с углом:
. (113)
При малых отклонениях углов иможно воспользоваться формулой:
. (114)
Согласно геометрическому смыслу первой производной функции:
,
. (115)
Согласно рис. 88:
,.
Величину Δx*найдем из прямоугольного треугольника с углом:
. (116)
Подставив все полученные значения в исходную формулу, получим формулу метода Эйлера-Коши:
. (117)
Пример. Для уравнения запишем формулу расчета функцииx(t) согласно методу Эйлера-Коши
10.3.4. Метод Рунге-Кутта 4-го порядка
Данный метод заключается в том, что рассчитывается последовательность точек функции x(t), причем приращения функции рассчитываются путем усреднения промежуточных коэффициентовК1,К2,К3иК4:
(118)
где ,
,
,
.
Пример. Для уравнения запишем формулу расчета функции x(t) согласно методу Рунге-Кутта 4-го порядка:
10.4. Примеры выполнения
10.4.1. Реализация метода Эйлера в математическом редактореMathcad
В математическом редактореMathcadсоставим программу, позволяющую получить решение рассмотренного ранее уравнения.
Введем интервал, на котором необходимо решить уравнение:
.
Зададим шаг дискретизации: dt:=0.1.
Введем начальное условие: x0:= 0.
Рассчитаем число точек дискретизации:
Создадим итерационный процесс, который на каждом шаге итерации будет вычислять решение уравнения, соответствующее каждой точке на интервале решения и возвращать значения t иx.
Решение уравнения на интервале [1, 5] получим в виде матрицы z, размерностью 2×n, для данного примера 2 столбца и 40 строк. Первый столбец содержит переменную t, второй – переменную x.
10.4.2. Решение обыкновенного дифференциального уравнения 1-го порядка с помощью функции rkfixed
Пусть имеется уравнение вида: .
Необходимо найти его решение на интервале [a,b] при начальном условииx(0)=x0.
В математическом редакторе Mathcadсуществует встроенная функция rkfixed, которая сама осуществляет решение методом Рунге-Кутта 4-го порядка. Использовать её необходимо следующим образом.
Сначала задаются параметры, которые будут передаваться в указанную функцию:
x0 –вектор начальных условий, в данном случае вектор из одного элемента;
a, b –границы интервала для поиска решения;
n – количество точек на интервале;
D(t,x) –вектор-функция первых производных, в данном случае вектор из одного элемента.
Вызов функции осуществляется так:
rkfixed(x0,a,b,n,D)
Запрограммируем процесс решения.
Задаем начальное условие:
Вводим правую часть дифференциального уравнения:
В данном случае элемент x0набирается с использованием кнопки MatrixSubscript (МатрицыНижний индекс) или горячие клавиши Shift+] (или Shift+ъ при русской раскладке клавиатуры)
Задаем интервал поиска решения:
Задаем шаг дискретизации:
Задаем число точек дискретизации:
Осуществляем вызов функции и высвечивем результаты:
Матрица Z имеет 2 столбца и 40 строк. Первый столбец содержит переменную t, второй – переменную x. Решение дифференциального уравнения представлено на рис. 89.
Рис. 89. Решение уравнения на интервале [1,5].