Решение уравнений в частных производных на Mathcad'е
Вычисление волнового уравнения методом сеток, описание смещения струны в разные моменты времени синусоидальной функцией. Явная разностная схема для уравнения параболического типа. Применение метода релаксации для решения уравнений Лапласа и Пуассона.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 19.11.2012 |
Размер файла | 228,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
11
Решение уравнений в частных производных на Mathcad'е
Введение
Одним из методов решения дифференциальных уравнений в частных производных является метод сеток. Идея метода заключается в следующем.
Для простоты, ограничимся случаем только функции двух переменных, и будем полагать, что решение уравнения ищется на квадратной области единичного размера. Разобьем область сеткой. Шаг сетки по оси x и по оси y, вообще говоря, может быть разный. По определению частная производная равна
Если рассматривать функцию только в узлах сетки, то частную производную можно записать в форме
где узел соответствует точке . Полученное выражение называется правой конечной разностью. Название связано с тем, что для вычисления производной в точке используются значение функции в этой точке и точке, лежащей правее. Очевидно, что сходное выражение можно было бы получить, используя точку, лежащую слева.
Такое выражение называется левой конечной разностью. Можно получить центральную конечную разность, найдя среднее этих выражений.
Теперь получим выражения для вторых производных.
В данном случае для нахождения производной мы использовали симметричные точки. Однако, очевидно, можно было бы использовать точки с несимметричным расположением.
1. Уравнения гиперболического типа
В качестве примера рассмотрим решение волнового уравнения (уравнения гиперболического типа).
Уравнение будем решать методом сеток. Запишем уравнение в конечных разностях
Полученное уравнение позволяет выразить значение функции u в момент времени через значения функции в предыдущие моменты времени.
Такая разностная схема называется явной, так как искомая величина получается в явном виде. Она устойчива, если.
Зададим начальные условия: смещение струны U в начальный и последующий моменты времени описывается синусоидальной функцией.
(Совпадение смещений при j=0 и j=1 соответствует нулевой начальной скорости.)
Зададим граничные условия: на концах струны смещение равно 0 в любой момент времени
Будем полагать коэффициент
Записываем уравнение в конечных разностях, разрешенное относительно
Представляем результат на графике
2. Уравнения параболического типа
уравнение синусоидальный параболический релаксация
Еще один пример использования конечных разностей - уравнение диффузии.
ut (x,t) = D uxx(x,t)
Это уравнение параболического типа. Явная разностная схема для этого уравнения имеет вид
Эта разностная схема устойчива, если . Для краткости в дальнейшем мы будем обозначать весь множитель, стоящий перед скобкой, как k.
Задаем коэффициент и диапазон изменения пространственной и временной координат:
Задаем начальные и граничные условия
Уравнение в конечных разностях имеет вид
Представляем результаты на графике. (Для большей наглядности изображена только центральная часть)
Основное достоинство явных методов - их простота - зачастую сводится на нет достаточно жесткими ограничениями на величину шага. Явные схемы обычно устойчивы при столь малых шагах по времени, что они становятся непригодными для практических расчетов. Этого существенного недостатка позволяют избежать неявные схемы. Свое название они получили потому, что значения искомой функции на очередном временном шаге не могут быть явно выражены через значения функции на предыдущем шаге.
Рассмотрим применение неявной схемы на примере уравнения теплопроводности
Запишем неявную разностную схему для этого уравнения
Здесь первый индекс соответствует пространственной, а второй - временной координате. В отличие от явной схемы, для вычисления в правой части уравнения используются значения функции на том же самом временном шаге. Вводя обозначение , уравнение можно переписать в виде, или в матричной форме
где .
Задаем количество узлов сетки (в данном случае оно одинаково для обеих переменных)
Задаем значения параметров и начальное распределение температуры в области
Формируем матрицы уравнения
Находим решение системы
3. Решение уравнений Лапласа и Пуассона
Для решения уравнений Пуассона и Лапласа (частный случай, когда ) - уравнений эллиптического типа - предназначена функция relax(a, b, c, d, e, f, u, rjac), реализующая метод релаксации. Фактически, эту функцию можно использовать для решения эллиптического уравнения общего вида
которое может быть сведено к уравнению в конечных разностях
В частности, для уравнения Пуассона коэффициенты.
Идея метода релаксации заключается в следующем. Если нет источников (уравнение Лапласа), то значение функции в данном узле на текущем шаге определяется как среднее значение функции в ближайших узлах на предыдущем шаге k
При наличии источников разностная схема имеет вид
Метод релаксации сходится достаточно медленно, так как фактически он использует разностную схему с максимально возможным для двумерного случая шагом .
В методе релаксации необходимо задать начальное приближение, то есть значения функции во всех узлах области, а так же граничные условия.
Функция relax возвращает квадратную матрицу, в которой:
1. расположение элемента в матрице соответствует его положению внутри квадратной области,
2. это значение приближает решение в этой точке.
Эта функция использует метод релаксации для приближения к решению.
Вы должны использовать функцию relax, если Вы знаете значения искомой функции u(x, y) на всех четырех сторонах квадратной области.
Аргументы:
a, b, c, d, e - квадратные матрицы одного и того же размера, содержащие коэффициенты дифференциального уравнения.
f - квадратная матрица, содержащая значения правой части уравнения в каждой точке внутри квадрата
u - квадратная матрица, содержащая граничные значения функции на краях области, а также начальное приближение решения во внутренних точках области.
rjac - Параметр, управляющий сходимостью процесса релаксации. Он может быть в диапазоне от 0 до 1, но оптимальное значение зависит от деталей задачи.
Задаем правую часть уравнения Пуассона - два точечных источника
Задаем значения параметров функции relax
Задаем граничные условия и начальное приближение - нули во всех внутренних точках области
Находим решение
и представляем его графически в виде поверхности и линий уровней.
Если граничные условия равны нулю на всех четырех сторонах квадрата, можно использовать функцию multigrid.
Алгоритм метода достаточно громоздкий, поэтому рассматривать его мы не будем.
Размещено на Allbest.ru
Подобные документы
Численный метод для решения однородного дифференциального уравнения первого порядка методом Эйлера. Решение систем дифференциальных уравнений методом Рунге–Кутта. Решение краевой задачи. Уравнения параболического типа, а также Лапласа и Пуассона.
курсовая работа [163,5 K], добавлен 27.05.2013Разработка программы на языке С++ для решения дифференциального уравнения Лапласа в прямоугольной области методом сеток. Численное решение задачи Дирихле для уравнения Лапласа, построение сетки и итерационного процесса. Листинг и результат программы.
курсовая работа [307,5 K], добавлен 30.04.2012Разностная схема решения уравнения теплопроводности. Численное решение уравнения теплопроводности в табличном процессоре Microsoft Ехсеl и в пакете математических расчётов MathCAD. Расчёт методом прогонки. Изменение пространственной координаты.
дипломная работа [248,4 K], добавлен 15.03.2014Решение конечно-разностной задачи Дирихле для уравнения Лапласа в прямоугольной области. Погрешность замены дифференциального уравнения разностным. Использование схемы узлов при получении сеточных уравнений. Сущность метода Зайделя. Листинг программы.
курсовая работа [348,5 K], добавлен 26.04.2011Приведение системы линейных алгебраических уравнений к треугольному виду прямым ходом метода Гаусса. Применение обратного хода метода вращений. Создание алгоритма, блок-схемы и кода программы. Тестовый пример решения уравнения и его проверка в MathCad.
лабораторная работа [164,3 K], добавлен 02.10.2013Математическое описание алгоритмов схемы и операций для уравнения Лапласа. Изучение разностной схемы "крест" для нахождения численного решения эллиптического уравнения, задача Дирихле. Использование указателей в среде Matlab для решений методом Гаусса.
дипломная работа [859,3 K], добавлен 23.10.2014Этапы численного решения нелинейных уравнений заданного вида: отделение (изоляция, локализация) корней уравнения аналитическим или графическим способами, уточнение конкретного выделенного корня методом касательных (Ньютона). Решение в системе MathCad.
курсовая работа [271,6 K], добавлен 22.08.2012Решение нелинейного уравнения шаговым методом, методом половинного деления, методом Ньютона и простой итерации с помощью программы Mathcad. Разбиение промежутка на число n интервалов. Условия сходимости корня. Составление программы для решения на С++.
лабораторная работа [207,5 K], добавлен 10.05.2012Решение уравнения методом половинного деления. Программа в Matlab для уравнения (x-2)cos(x)=1. Решение нелинейных уравнений методом Ньютона. Интерполяция заданной функции. Решение системы линейных алгебраических и обыкновенных дифференциальных уравнений.
курсовая работа [1,4 M], добавлен 15.08.2012Особенности решения уравнений с одной переменной методом половинного деления. Оценка погрешности метода простой итерации. Суть решения уравнений в пакете Mathcad. Векторная запись нелинейных систем. Метод Ньютона решения систем нелинейных уравнений.
курсовая работа [2,1 M], добавлен 12.12.2013