- •1.1. Основные этапы решения задач с помощью эвм
- •1.2. Погрешности результатов численного решения задач
- •1.3. Основные требования к алгоритмам и программному обеспечению
- •2.1. Метод дихотомии (деления отрезка пополам)
- •2.2. Метод хорд
- •2.3. Метод простой итерации
- •2.4. Метод Ньютона
- •2.5. Модификации метода Ньютона
- •3.1. Основные понятия вычислительной линейной алгебры
- •3.2. Некоторые точные методы решения слау
- •3.3. Итерационные методы решения слау
- •3.4. Вычисление собственных значений матрицы
- •4.1. Постановка задачи интерполяции
- •4.2. Полиномиальная интерполяция. Формула Лагранжа
- •4.3. Разделенные разности и интерполяционная формула Ньютона
- •4.4. Кусочно-полиномиальная интерполяция
- •4.4. Программы решения задач интерполяции с помощью Matlab
- •5.1. Численное дифференцирование
- •5.2. Погрешности методов численного дифференцирования
- •5.3. Численное интегрирование. Простейшие методы
- •5.4. Метод Ньютона-Котеса и его модификация
- •5.5. Методы Монте-Карло
- •6.1. Решение пере- и недоопределенных слау
- •6.2. Примеры решение переопределенной слау методом наименьших квадратов Пусть
- •6.3. Метод наименьших квадратов для регрессионного анализа
- •Задание к главе 6
- •7.1. Методы решения задачи Коши
- •7.2. Методы Рунге-Кутта решения задачи Коши
- •7.3. Решение краевой задачи для оду
- •Задания к главе 7
- •8.1. Решения дифференциальных уравнений первого порядка
- •8.2. Решения дифференциальных уравнений параболического типа
- •8.3. Решение дифференциальных уравнений эллиптического типа
- •8.4. Решение дифференциальных уравнений гиперболического типа
8.3. Решение дифференциальных уравнений эллиптического типа
Рассмотрим в качестве примера задачу об определении электростатического потенциала и напряженности электрического поля в бесконечном металлическом желобе прямоугольного сечения (рис.8.2). Верхняя стенка желоба имеет потенциал , а остальные стенки заземлены и находятся под нулевым потенциалом. Необходимо найти функцию, описывающую распределение потенциала в этой области.
Из электростатики известно, что распределение потенциала удовлетворяет уравнению Пуассона.
, (8.24)
которое в декартовой системе координат будет иметь вид
. (8.25)
Функция определяет плотность зарядов в исследуемой области. Необходимо найти решение уравнения (8.24), удовлетворяющее граничным условиям
(8.26)
После определения потенциала можно найти и напряженность электрического поля , используя соотношение
.
Поставленная задача является частным случаем задачи Дирихле, когда необходимо найти решение дифференциального уравнения в частных производных в замкнутой области при заданном распределении искомой функциина границе этой области. В случае прямоугольной области и отсутствие электрических зарядов в областидля граничных условий (8.26) решение можно получить аналитически, методом разделения переменных. Однако аналитическое решение не обобщается на более сложные границы и граничные условия. В некоторых задачах аналитические решения настолько громоздки, что невозможно осуществить их анализ без проведения численных расчетов, в таком случае численные решения могут оказаться более предпочтительными вследствие их универсальности.
Для представления производных введем, как и раньше, прямоугольную сетку, разбивая исследуемую область вдоль оси начастей, а вдольна. Приближенные значения искомой функции в узле будут определяться значениями функции в соседних узлах. Для этого представим вторые производные в виде разностного аналога
, (8.28)
(8.29)
где и– шаг сетки по координатами, соответственно, а. Откуда
. (8.30)
Это один из простейших шаблонов, часто называемый шаблоном типа «крест», будет иметь вид:
(i,j+1)
|
(i-1,j) — (i,j) — (i+1,j)
|
(i,j-1)
После преобразований (8.30) получаем систему уравнений относительно :
, (8.31)
где . Для квадратной сетки, которая наиболее удобна для вычислений, формула упрощается, и ее знаменатель будет равен четырем. Система (8.31) является неявной и обычно решается итерационными методами, например методом Зейделя. Итерационный процесс завершается при выполнении в каждом узле сетки условия
, (8.32)
где – номер итерации, а заданная погрешность вычисления потенциала.
В качестве примера реализации программы рассмотрим случай соответствующий рисунку 8.2 при , а длина стенок равна 1.
Программа 8.2
h=0.01; %Задание шага сетки.
x=0:h:1;
y=0:h:1;
u=zeros(101,101); %Задание начальных значений потенциала.
u(:,101)=10; %Задание граничного условия.
for k=1:20, %k – число итераций.
for i=2:100,
for j=2:100,
u(i,j)=(u(i+1,j)+u(i-1,j)+u(i,j+1)+u(i,j-1))/4;
end;
end;
end;
meshgrid(x,y); %Построение поверхности решения.
mesh(u);