Решение задачи Дирихле для уравнения Лапласа методом сеток

Численное решение задачи Дирихле для уравнения Лапласа в прямоугольнике с использованием шаблона. Устойчивость и сходимость разностной схемы. Решение системы линейных алгебраических уравнений методом Гаусса-Зейделя. Листинг и результаты работы программы.

Рубрика Экономико-математическое моделирование
Вид лабораторная работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.