Решение задачи Дирихле для уравнения Лапласа методом сеток
Численное решение задачи Дирихле для уравнения Лапласа в прямоугольнике с использованием шаблона. Устойчивость и сходимость разностной схемы. Решение системы линейных алгебраических уравнений методом Гаусса-Зейделя. Листинг и результаты работы программы.
Рубрика | Экономико-математическое моделирование |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 24.01.2013 |
Размер файла | 45,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Министерство образования Российской Федерации
Уфимский Государственный Авиационный Технический Университет
ЛАБОРАТОРНАЯ РАБОТА 5
РЕШЕНИЕ ЗАДАЧИ ДИРИХЛЕ ДЛЯ УРАВНЕНИЯ ЛАПЛАСА МЕТОДОМ СЕТОК
Выполнила студентка
группы ВМ-226 т:
Курамшина А.Р.
Проверил
преподаватель:
Шерыхалина Н.М.
Уфа 2006
1. Краткая теория
уравнение функция лаплас программа
В настоящей лабораторной работе методом сеток требуется решить задачу Дирихле для уравнения Лапласа. Эта задача ставится следующим образом.
Найти непрерывную функцию и (х, у), удовлетворяющую внутри прямоугольной области уравнению Лапласа
и принимающую на границе области заданные значения, т. е.
, ,
, ,
где fl, f2, f3, f4 -- заданные функции.
Будем считать, что и(х, у) непрерывна на границе области , т. е. , , , . Выбрав шаги h, l по x и y соответственно, строим сетку , , , , где , .
Вводя обозначения , аппроксимируем частные производные и в каждом внутреннем узле сетки центральными разностными производными второго порядка
,
и заменим уравнение Лапласа конечно-разностным уравнением
, (1)
, .
Погрешность замены дифференциального уравнения разностным составляет величину .
Уравнения (1) вместе со значениями в граничных узлах образуют систему линейных алгебраических уравнений относительно приближенных значений функции и (х, у) в узлах сетки . Наиболее простой вид имеет эта система при :
(2)
, , , ,
, .
При получении сеточных уравнений (2) была использована схема узлов, изображенная на рис. 1. Набор узлов, используемых для аппроксимации уравнения в точке, называется шаблоном. В данной работе используется шаблон типа «крест».
Рисунок 1
Численное решение задачи Дирихле для уравнения Лапласа в прямоугольнике состоит в нахождении приближенных значений искомой функции и(х, у) во внутренних узлах сетки. Для определения величин требуется решить систему линейных алгебраических уравнений (2).
В данной лабораторной работе она решается методом Гаусса--Зейделя, который состоит в построении последовательности итераций вида
(верхним индексом s обозначен номер итерации). При последовательность сходится к точному решению системы (2). В качестве условия окончания итерационного процесса можно принять
, , .
Таким образом, погрешность приближенного решения, полученного методом сеток, складывается из двух погрешностей: погрешности аппроксимации дифференциального уравнения разностными; погрешности, возникающей в результате приближенного решения системы разностных уравнений (2).
Известно, что описанная здесь разностная схема обладает свойством устойчивости и сходимости. Устойчивость схемы означает, что малые изменения в начальных данных приводят к малым изменениям решения разностной задачи. Только такие схемы имеет смысл применять в реальных вычислениях. Сходимость схемы означает, что при стремлении шага сетки к нулю () решение разностной задачи стремится в некотором смысле к решению исходной задачи. Таким образом, выбрав достаточно малый шаг h, можно как угодно точно решить исходную задачу.
Листинг программы:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <iostream.h>
#include <iomanip.h>
int i,j,a,b,m,n;
float h,l,e,max,maximum;
float x[9999],y[9999],u[9999][9999],us[9999][9999];
void main()
{
cout<<"Vvedite shag h po x"<<endl;
cin>>h;
cout<<"Vvedite to4nost' e"<<endl;
cin>>e;
cout<<"Vvedite kraia priamougol'noi oblasti a i b"<<endl;
cin>>a>>b;
l=h;
n=a/h+1;
m=b/l+1;
for(i=0;i<n;i++)
{
x[i]=i*h;
}
for(j=0;j<m;j++)
y[j]=j*l;
for(i=0;i<n;i++)
{
u[i][0]=x[i];
u[i][m]=x[i];
}
for(j=0;j<m;j++)
{
u[0][j]=y[j];
u[n][j]=y[j];
}
for(i=1;i<n-1;i++)
{
for(j=1;j<m-1;j++)
{
u[i][j]=(u[i+1][j]+u[i-1][j]+u[i][j+1]+u[i][j-1])/4;
}
}
power: for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
us[i][j]=u[i][j];
}
}
for(i=1;i<n;i++)
{
for(j=1;j<m;j++)
{
u[i][j]=(u[i-1][j]+us[i+1][j]+us[i][j+1]+u[i][j-1])/4;
}
}
max=fabs(us[0][0]-u[0][0]);
for(i=1;i<n-1;i++)
{
for(j=1;j<m-1;j++)
{
maximum=fabs(us[i][j]-u[i][j]);
if(maximum>max)
max=maximum;
}
}
while(max>e)
goto power;
cout<<" Itogi vipolnenia programmi "<<endl;
cout<<" i "<<" j "<<" x "<<" y "<<" u "<<endl;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
cout.width(5);
cout<<i;
cout.width(5);
cout<<j;
cout.width(5);
cout<<x[i];
cout.width(5);
cout<<y[j];
cout.width(5);
cout<<u[i][j]<<endl;
}
}
system("PAUSE");
}
результаты работы программы:
Vvedite shag h po x
0.5
Vvedite to4nost' e
0.1
Vvedite kraia priamougol'noi oblasti a i b
2
2
Itogi vipolnenia programmi
i j x y u
0 0 0 0 0
0 1 0 0.5 0.5
0 2 0 1 1
0 3 0 1.5 1.5
0 4 0 2 2
1 0 0.5 0 0.5
1 1 0.5 0.50.587616
1 2 0.5 10.733345
1 3 0.5 1.50.870455
1 4 0.5 20.804537
2 0 1 0 1
2 1 1 0.50.733345
2 2 1 10.600801
2 3 1 1.50.531057
2 4 1 20.379156
3 0 1.5 0 1.5
3 1 1.5 0.50.870455
3 2 1.5 10.531057
3 3 1.5 1.50.356044
3 4 1.5 20.206429
4 0 2 0 2
4 1 2 0.50.804537
4 2 2 10.379156
4 3 2 1.50.206429
4 4 2 20.103214
Размещено на Allbest.ru
Подобные документы
Исследование методом Жордана-Гаусса системы линейных уравнений. Решение графическим и симплексным методом задач линейного программирования. Экономико-математическая модель задачи на максимум прибыли и нахождение оптимального плана выпуска продукции.
контрольная работа [177,8 K], добавлен 02.02.2010Решение графическим методом задачи линейного программирования с двумя неизвестными. Решение транспортной задачи методом северо-западного угла и методом минимальной стоимости. Системы массового обслуживания. Стохастическая модель управления запасами.
контрольная работа [458,1 K], добавлен 16.03.2012Анализ влияния шага на ошибки интегрирования и число итераций, а также сравнение решения обычных и жестких систем. Решение линейных систем алгебраических уравнений методом Эйлера итерационным методом с помощью составления программы на языке MatLAB.
контрольная работа [474,2 K], добавлен 19.05.2014Основы понятия регрессионного анализа и математического моделирования. Численное решение краевых задач математической физики методом конечных разностей. Решение стандартных и оптимизационных задач, систем линейных уравнений. Метод конечных элементов.
реферат [227,1 K], добавлен 18.04.2015Расчет зависимости товарооборота за месяц. Параметры уравнения множественной регрессии, их оценка методом наименьших квадратов. Получение системы нормальных уравнений, ее решение по методу Крамера. Экономическая интерпретация параметров уравнения.
контрольная работа [45,6 K], добавлен 13.04.2014- Примеры использования графического и симплексного методов в решении задач линейного программирования
Экономико-математическая модель получения максимальной прибыли, её решение графическим методом. Алгоритм решения задачи линейного программирования симплекс-методом. Составление двойственной задачи и её графическое решение. Решение платёжной матрицы.
контрольная работа [367,5 K], добавлен 11.05.2014 Численные методы решения трансцедентных уравнений. Решение с помощью метода жордановых исключений системы линейных алгебраических уравнений. Симплексный метод решения задачи линейного программирования. Транспортная задача, применение метода потенциалов.
методичка [955,1 K], добавлен 19.06.2015Определение наиболее выгодного суточного объема выпуска изделий, обеспечивающего максимум прибыли. Построение математической модели задачи, ее решение графическим методом и в среде MS Excel. Расчет диапазона дефицитности ресурсов и дрейфа оптимума.
контрольная работа [994,1 K], добавлен 16.02.2013Расчет выборочной средней, дисперсии, среднего квадратического отклонения и коэффициента вариации. Точечная оценка параметра распределения методом моментов. Решение системы уравнений по формулам Крамера. Определение уравнения тренда для временного ряда.
контрольная работа [130,4 K], добавлен 16.01.2015Составление системы ограничений и целевой функции по заданным параметрам. Построение геометрической интерпретации задачи, ее графическое представление. Решение транспортной задачи распределительным методом и методом потенциалов, сравнение результатов.
контрольная работа [115,4 K], добавлен 15.11.2010