- •Федеральное агентство по образованию
- •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. Задания
- •Библиографический список
- •Использование
4.4. Примеры выполнения
4.4.1. Интерполирование степенными многочленами с использованием метода неопределенных коэффициентов
Запрограммируем в Mathcadрешение примера 1.
Задаем системной переменной значение 1.
Задаем начальные значения экспериментальных массивов согласно табл. 3.
Задаем значение контрольной точки аргумента, в которой надо найти значение искомой функции:
Строим график экспериментальных значений (рис. 24).
Рис. 24. График экспериментальных значений
Так как имеем три экспериментальных точки, в качестве интерполирующей зависимости выберем степенной многочлен 2-го порядка
.
Пользуясь полученной формулой, составим систему линейных уравнений:
Данную систему запишем в векторно-матричной форме:
или
.
Решим полученную систему методом Крамера. Для этого сформируем 4 матрицы. Первая матрица С – главная матрица системы, остальные матрицы С0, С1 и С2 получаются из матрицы С путем замены 1-го, 2-го и 3-го столбца на вектор соответственно.
Следует отметить, что программирование осуществляется с использованием имен переменных, а не значений. Это позволит сделать программууниверсальнойи использовать её для решения других подобных задач в дальнейшем.
Далее контролируем заполнение матриц:
Осуществляем расчет определителя матрицы С согласно правилу миноров.
Для набора формулы используем панель Greek(Греческий алфавит) иMatrix(Матрицы). Следует учесть, что для обозначения элементов двумерной матрицы С используется два индекса, разделенных запятыми (первый нумерует строку, второй – столбец). Если формула выходит за пределы страницы документа, часть её необходимо подсветить
и нажать Ctrl+Enter. В результате формула разобьётся на две строки.
Если удалить подсвеченный красным местозаполнитель, формула будет рассчитываться автоматически, как и прежде.
Далее высвечиваем результат расчета
и осуществляем проверку нажатием кнопки Determinant (Вычисление определителя) на панели Matrix (Матрицы)
Аналогично осуществляем расчет и проверку расчета определителей матриц С0, С1 и С2.
Рассчитываем коэффициенты a0,a1,a2.
Используя найденные коэффициенты, задаем функцию yr(xk) для получения расчетных значений. Имя функции отличается от y(x), чтобы не испортить заданные в начале программы значения экспериментальных массивов x и y.
Высвечиваем расчетное значение функции в контрольной точке (как и ожидалось, оно находится между второй и третьей экспериментальными токами – 12 и 15):
Добавляем к построенному ранее графику экспериментальных значений расчетную кривую yr(x1). Для этого сначала вводим ранжированную переменную x1, которая позволит получить не три, а девять расчетных значений и построить более гладкий график функции, отраженный с помощью пунктирной линии (рис. 25). Значение контрольной точки отражаем на графике с помощью крестика.
Рис. 25. Графики, полученные при интерполировании методом
неопределенных коэффициентов
4.4.2. Интерполирование степенными многочленами с использованием второй интерполяционной формулы Ньютона
Запрограммируем в Mathcadрешение примера 4. Программировать будем также с использованием имен переменных, чтобы программа получилась универсальной.
Задаем системной переменной значение 1.
Задаем начальные значения экспериментальных массивов согласно табл. 3.
Строим график экспериментальных значений (рис. 26).
Рис. 26. График экспериментальных значений
Так как имеем три экспериментальных точки, в качестве интерполирующей зависимости выберем степенной многочлен 2-го порядка
.
Формула (11) для n=2 будет выглядеть следующим образом:
,
у2 = у3 – у2,
2 у1 = у2 – у1 = у3 – 2у2 + у1,h=4.
Запрограммируем эти формулы в Mathcad, используя промежуточные переменные. Следует учесть при наборе следующиеособенности:
индексы элементов экспериментальных массивов xиyнабираются через клавишу;или с помощью кнопкиSubscript(Нижний индекс) на панелиMatrix(Матрицы);
имена переменных, обозначающих конечные разности, набираются в одну строку, без индексов.
Задаем функцию yr(xk) для получения расчетных значений. Имя функции отличается от y(x), чтобы не испортить заданные в начале программы значения экспериментальных массивов x и y.
Как видно, в расчетах не использовалось значение x1, поэтому точность интерполирования выше в конце таблицы.
Для того чтобы получить значения коэффициентов a0, a1 и a2, воспользуемся функцией parfrac. Для этого нажмем кнопкуConvert to Partial Fractions Keywords(Преобразование в частичных долях) на панелиSymbolic(Символы).
Присваиваем переменным a0, a1 и a2 значения согласно полученному выражению
и высвечиваем полученные значения коэффициентов
Использование пункта 5 в программе снижает её универсальность, т. к. при изменении исходных данных эти преобразования нужно будет провести вручную.
Используя найденные коэффициенты, задаем функцию yr(xk) для получения расчетных значений.
Задаем значение контрольной точки аргумента, в которой надо найти значение искомой функции:
Высвечиваем расчетное значение функции в контрольной точке (как и ожидалось, оно находится между второй и третьей экспериментальными токами – 12 и 15):
Добавляем к построенному ранее графику экспериментальных значений расчетную кривую yr(x1). Для этого сначала вводим ранжированную переменную x1, которая позволит получить не три, а девять расчетных значений и построить более гладкий график функции, отраженный с помощью пунктирной линии (рис. 27). Значение контрольной точки отражаем на графике с помощью крестика.
Рис. 27. Графики, полученные при интерполировании с помощью
второй интерполяционной формулы Ньютона