- •Введение
- •Основы работы с MathCad
- •1. Введение в численные методы. Теория погрешностей и машинная арифметика Понятие о вычислительном эксперименте
- •Классификация погрешностей
- •Элементы теории погрешностей
- •2. Теория погрешностей и машинная арифметика Погрешности арифметических действий Погрешность функции
- •Погрешности арифметических действий
- •3. Численное решение нелинейных уравнений
- •Решение нелинейных уравнений
- •4. Численное решение систем уравнений Решение систем линейных уравнений
- •Решение матричных уравнений
- •Решение систем нелинейных уравнений
- •5. Решение систем уравнений и систем уравнений MathCad Решение одного уравнения
- •Нахождение корней полинома
- •Решение систем уравнений
- •Приближенные решения
- •Символьное решение уравнений
- •6. Интерполяция функций
- •Глобальная интерполяция
- •7. Интерполяция функций Интерполяционные формулы Ньютона
- •Локальная интерполяция
- •8. Интерполяция функций Кубическая сплайн-интерполяция
- •Интерполяция средствами MathCad
- •9. Математическая обработка экспериментальных данных Элементы теории ошибок
- •Элементы теории ошибок Случайные ошибки
- •Аппроксимация в виде линейной комбинации функций
- •Полиномиальная аппроксимация в Mathcad
- •С помощью функции regress
- •11. Численное интегрирование и дифференцирование Численное интегрирование
- •Методы прямоугольников
- •Метод трапеций
- •Метод Симпсона
- •Метод Монте - Карло
- •Численное дифференцирование
- •12. Решение обыкновенных дифференциальных уравнений
- •Одношаговые методы решения задачи Коши
- •Общая характеристика одношаговых методов
- •13. Решение дифференциальных уравнений в частных производных Уравнения первого порядка
- •Типы дифференциальных уравнений в частных производных
- •Уравнения первого порядка
- •Лабораторная работа
- •Варианты задания 1
- •Варианты задания 2
- •Варианты задания 3
- •Локальная интерполяция
- •Предсказание
- •Варианты заданий 4
- •Полиномиальная регрессия
- •Обобщенная регрессия
- •Варианты задания 5
- •Численное интегрирование и дифференцирование
- •Варианты задания 6
Уравнения первого порядка
Будем считать, что искомая функция u зависит от времени t и одной пространственной переменной x. Тогда линейное уравнение переноса может быть записано в виде:
(13.6)
Расчётная область при решении уравнения (13.6) может быть как бесконечной, так и ограниченной. В первом случае, задавая начальные условия при t=0
(13.7)
получаем задачу Коши для полуплоскости . На практике обычно приходится решать уравнение переноса в некоторой ограниченной области (например, в прямоугольнике ). Начальное условие (13.7) в этом случае задаётся на отрезке l1; граничное условие нужно задать при x=0, т.е. на отрезке l2, поскольку a>0 возмущение распространяется вправо. Это условие записывается в виде
(13.8)
значит, задача состоит в решении уравнения (13.6) с начальными и граничными условиями (13.7) и (13.8) в ограниченной области G:
.
Построим в области G равномерную прямоугольную сетку с помощью прямых (i=0, 1, …, I) и (j=0, 1, …, J). Вместо функции будем рассматривать сеточные функции, значения которых в узлах (xi, tj) соответственно равны . Для построения разностной схемы нужно выбрать шаблон. Примем его в виде правого нижнего уголка.
При этом входящие в уравнение (13.6) производные аппроксимируют конечноразностными соотношениями с использованием односторонних разностей:
(13.9)
Решая разностное уравнение относительно единственного неизвестного значения на j+1 слое, получаем следующую схему:
i=1,2, …, I и j=0, 1, …, J-1. (13.10)
Полученная схема явная - т.е. значения сеточной функции в каждом узле верхнего слоя t=tj+1 выражаются явно с помощью соотношения (13.10) через ранее найденные её значения на предыдущем слое.
Для начала счёта по схеме (13.10), т.е. для высчитывания сеточной функции на 1-ом слое, необходимы её значения на слое j=0. Они определяются начальными условиями (13.7), которые записываем для сеточной функции: , i=0, 1,2, …, I (13.11)
Граничное условие (13.8) также записывается в сеточном виде:
j=0, 1, …, J. (13.12)
Таким образом, решение исходной дифференциальной задачи (13.6) - (13.8) сводится к решению разностной задачи (13.10) - (13.12).
Найденное значение сеточной функции принимаются в качестве значений искомой функции U в узлах сетки.
Схема условно устойчива; условие устойчивости имеет вид:
(13.13)
Если a<0 условие (13.13) не выполняется, и схема (13.10) не сходится.
Можно построить сходящуюся схему и для случая a<0. В качестве шаблона возьмем левый нижний уголок:
(13.14)
эта схема сходится если
(13.15)
При построении явной разностной схемы (13.10) производная в уравнении (13.6) аппроксимирована с помощью значений сеточной функции на j-ом слое; в результате получилось разностное уравнение (13.9), в котором использовано значение сеточной функции лишь в одном узле верхнего слоя. Если производную аппроксимировать на (j+1)-м слое (правый уголок), то получится неявная схема. Разностное уравнение.
(13.16)
Разрешая это уравнение относительно , приходим к следующей схеме:
, (13.17)
Эта двухслойная трехточечная схема первого порядка точности. Она, безусловно, устойчива. Хотя формально данная схема строилась как неявная, практическая организация счёта по ней проводится так же, как и для явной схемы.
Эти разностные схемы решения уравнения линейного переноса называются схемами бегущего счёта. Они позволяют последовательно находить значения сеточной функции в узлах разной сетки.