
- •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);