Численное решение дифференциальных уравнений с частными производными

Приближенное решение задачи Дирихле для уравнения Лапласа в квадрате. Выведение общей формулы для нахождения значений функции во внутренних точках. Составление программы реализации метода Зайделя для решения системы линейных алгебраических уравнений.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 09.02.2019
Размер файла 437,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА

федеральное государственное бюджетное образовательное учреждение высшего образования

«ОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ» (ОмГУПС (ОмИИТ))

Кафедра «Информационная безопасность»

Численное решение дифференциальных уравнений с частными производными

Пояснительная записка к курсовой работе

по дисциплине «Численные методы»

Студент гр. 25с

А.К. Шмаков

Руководитель -

доцент кафедры ИБ

М.Я. Епифанцева

Омск 2017

Аннотация

В работе рассматривается приближенное решение задачи Дирихле для уравнения Лапласа в квадрате с вершинами А(0;0), B(0;1), C(1;1), D(1;0) с шагом h=0,2. Для реализации метода выведена общая формула для нахождения значений функции во внутренних точках. Также составлена система линейных алгебраических уравнений. Для решения системы линейных алгебраических уравнений составлена программа реализации метода Зайделя с точностью e=0,001.

задача уравнение дирихле лаплас

Содержание

Введение

1. Численная постановка задачи

2. Получение начальных значений

3. Решение системы уравнений

Заключение

Библиографический список

Введение

Дифференциальным уравнением, содержащим частные производные, называется дифференциальное уравнение с частными производными. Дифференциальные уравнения с частными производными помогают решать задачи не только в математике, но также в физике, экономике и даже в биологии. В данной работе рассматривается численный метод решения задачи Дирихле для уравнения Лапласа.

1. Численная постановка задачи

Используя метод сеток, составить приближенное решение задачи Дирихле для уравнения Лапласа в квадрате с вершинами А(0;0), B(0;1), C(1;1), D(1;0), с шагом h=0,2.

Заменив частные производные в уравнении Лапласа конечно-разностными соотношениями получим:

По условию . Сложим эти два уравнения:

=1/4* (1).

Таким образом можно вывести уравнение, с помощью которого можно будет считать значение функции во внутренних точках.

Графическая интерпретация шаблона типа крест представлена на рисунке 1.

Рисунок 1 - Графическая интерпретация шаблона типа «крест»

Также существуют другие шаблоны. Например, шаблон типа «Прямоугольник». Графическая интерпретация шаблона «прямоугольник» представлена на рисунке 2.

Рисунок 2 - Графическая интерпретация шаблона типа «прямоугольник»

2. Получение начальных значений

Значения функции U(x,y) на стороне AB находится по формуле U(x,y)=45*y*(1-y); на стороне BC: U(x,y)=25*x; на стороне CD: U(x,y)=25; на стороне AD: U(x,y)=25*x*.

AB: U(x,y)=45y(1-y);

BC: U(x,y)=25x;

CD: U(x,y)=25;

AD: U(x,y)= 25*x*.

На рисунке 3 представлена область G, в которой ищется решение.

Рисунок 3 - Область G

AB: BC: CD: AD:

U(0;0)=0; U(0,2;1)=5; U(1;0,8)= U(0,2;0)=1,545;

U(0;0,2)=7,2; U(0,4;1)=10; = U(1;0,6)= U(0,4;0)=5,878;

U(0;0,4)=10,8; U(0,6;1)=15; = U(1;0,4)= U(0,6;0)=12,135;

U(0;0,6)=10,8; U(0,8;1)=20; = U(1;0,2)= U(0,8;0)=19,021;

U(0;0,8)=7,2; U(1;1)=25; = U(1;0)=25

U(0;1)=0;

На рисунке 4 представлена область G с вычисленными граничными значениями и пронумерованными внутренними точками.

Рисунок 4 - Область G с вычисленными значениями граничных точек

Используя шаблон типа «крест» (1) составляем следующую систему уравнений (2):

Для дальнейших расчетов необходимо определить начальные значения. Будем считать, что функция U(x,y) по горизонталям области G распределена равномерно.

На рисунке 5 изображена горизонталь с точками (0;0,2) и (1;0,2).

(0;0,2) (1;0,2)

Рисунок 5 - Горизонталь с точками (0;0,2) и (1;0,2)

Шаг изменения функции H1=(25-7,2)/2=3,56.

Получим:

На рисунке 6 изображена горизонталь с точками (0;0,4) и (1;0,4).

(0;0,4) (1;0,4)

Рисунок 6 - Горизонталь с точками (0;0,4) и (1;0,4)

Шаг изменения функции Н2=(25-10,8)/2=2,84.

Получим:

На рисунке 7 изображена горизонталь с точками (0;0,6) и (1;0,6).

(0;0,6) (1;0,6)

Рисунок 7 - Горизонталь с точками (0;0,6) и (1;0,6)

Значения в точках данной горизонтали будут такие же, как и на горизонтали с точками (0;0,4) и (1;0,4):

На рисунке 8 изображена горизонталь с точками (0;0,8) и (1;0,8).

(0;0,8) (1;0,8)

Рисунок 8 - Горизонталь с точками (0;0,8) и (1;0,8)

Значения в точках данной горизонтали будут такие же, как и на горизонтали с точками (0;0,2) и (1;0,2):

В таблице 1 представлены начальные значения внутренних точек, значения на границе, а также значения аргументов x,y функции U(x,y).

Таблица 1

1

0

5

10

15

20

25

0,8

7,2

10,76

14,32

17,88

21,44

25

0,6

10,8

13,64

16,48

19,32

22,16

25

0,4

10,8

13,64

16,48

19,32

22,16

25

0,2

7,2

10,76

14,32

17,88

21,44

25

0

0,0

1,545

5,878

12,135

19,021

25

Yi|Xi

0

0,2

0,4

0,6

0,8

1

3. Решение системы уравнений

Для решения системы уравнений будет использован модифицированный метод Зайделя. Следует преобразовать систему уравнений (2) к рабочим формулам метода Зайделя:

=1/4*(8,745++);

=1/4*(5,878+++);

=1/4*(12,135+++);

=1/4*(44,021++);

=1/4*(10,8+++);

=1/4*(+++);

=1/4*(+++);

=1/4*(25+++);

=1/4*(10,8+++);

=1/4*(+++);

=1/4*(+++);

=1/4*(25+++);

=1/4*(12,2++);

=1/4*(10+++);

=1/4*(15+++);

=1/4*(45++).

Ниже приведен листинг программы, реализующей модифицированный метод Зайделя.

program Project1;

{$mode objfpc}{$H+}

uses

{$IFDEF UNIX}{$IFDEF UseCThreads}

cthreads,

{$ENDIF}{$ENDIF}

Classes

{ you can add units after this };

var U: array [1..16] of real;

U1:array [1..16] of real;

flag:boolean;

i,m:integer;

begin

U1[1]:=10.76;

U1[2]:=14.32;

U1[3]:=17.88;

U1[4]:=21.44;

U1[5]:=13.64;

U1[6]:=16.48;

U1[7]:=19.32;

U1[8]:=22.16;

U1[8]:=13.64;

U1[10]:=16.48;

U1[11]:=19.32;

U1[12]:=22.16;

U1[13]:=10.76;

U1[14]:=14.32;

U1[15]:=17.88;

U1[16]:=21.44;

repeat

flag:=true;

m:=m+1;

U[1]:=1/4*(8.745+U1[2]+U1[5]);

U[2]:=1/4*(5.878+U[1]+U1[3]+U1[6]);

U[3]:=1/4*(12.135+U[2]+U1[4]+U1[7]);

U[4]:=1/4*(44.021+U[3]+U1[8]);

U[5]:=1/4*(10.8+U[1]+U1[6]+U1[9]);

U[6]:=1/4*(U[2]+U[5]+U1[7]+U1[10]);

U[7]:=1/4*(U[3]+U[6]+U1[8]+U1[11]);

U[8]:=1/4*(25+U[4]+U[7]+U1[12]);

U[9]:=1/4*(10.8+U[5]+U1[10]+U1[13]);

U[10]:=1/4*(U[6]+U[9]+U1[11]+U1[14]);

U[11]:=1/4*(U[7]+U[10]+U1[12]+U1[15]);

U[12]:=1/4*(25+U[8]+U[11]+U1[16]);

U[13]:=1/4*(12.2+U[9]+U1[14]);

U[14]:=1/4*(10+U[10]+U[13]+U1[15]);

U[15]:=1/4*(15+U[11]+U[14]+U1[16]);

U[16]:=1/4*(45+U[12]+U[15]);

for i:=1 to 16 do

if abs(U[i]-U1[i])>=0.001 then flag:=false;

for i:=1 to 16 do

U1[i]:=U[i];

writeln (u[13]:3:3,' ',u[14]:3:3,' ',u[15]:3:3,' ',u[16]:3:3);

writeln (u[9]:3:3,' ',u[10]:3:3,' ',u[11]:3:3,' ',u[12]:3:3);

writeln (u[5]:3:3,' ',u[6]:3:3,' ',u[7]:3:3,' ',u[8]:3:3);

writeln (u[1]:3:3,' ',u[2]:3:3,' ',u[3]:3:3,' ',u[4]:3:3);

writeln;

writeln;

until flag = true;

writeln (m);

readln;

end.

На таблицах 2-19 приведены значения во внутренних точках, которые изменяются в процессе вычислений.

Таблица 2

9,577

13,098

16,814

20,738

11,789

14,936

17,718

21,137

9,114

14,317

15,897

20,388

9,176

12,354

16,312

18,493

Таблица 3

9,226

12,489

16,325

20,543

11,607

13,916

17,075

20,845

11,115

13,241

16,433

20,567

7,553

11,015

14,385

19,698

Таблица 4

8,971

12,176

16,109

20,449

11,196

13,409

16,717

20,686

10,842

12,874

16,29

20,486

7,719

10,306

14,643

19,808

Таблица 5

8,829

12,013

15,992

20,395

10,941

13,115

16,505

20,587

10,586

12,625

16,11

20,394

7,473

10,217

14,612

19,78

Таблица 6

8,752

11,921

15,922

20,361

10,796

12,49

16,373

20,523

10,438

12,447

15,971

20,324

7,387

10,126

14,538

19,738

Таблица 7

8,707

11,865

15,879

20,34

10,709

12,832

16,288

20,481

10,343

12,325

15,874

20,275

7,327

10,048

14,473

19,704

Таблица 8

8,68

11,83

15,851

20,326

10,655

12,763

16,233

20,454

10,279

12,244

15,808

20,242

7,284

9,99

14,426

19,681

Таблица 9

8,663

11,808

15,833

20,317

10,62

12,718

16,197

20,436

10,238

12,19

15,765

20,221

7,254

9,95

14,393

19,664

Таблица 10

8,651

11,793

15,821

20,311

10,598

12,689

16,173

20,424

10,211

12,154

15,736

20,206

7,233

9,924

14,372

19,653

Таблица 11

8,644

11,784

15,813

20,307

10,583

12,67

16,158

20,417

10,193

12,131

15,717

20,197

7,22

9,906

14,358

19,646

Таблица 12

8,639

11,778

15,808

20,305

10,574

12,658

16,148

20,412

10,181

12,166

15,705

20,191

7,211

9,894

14,348

19,642

Таблица 13

8,636

11,774

15,805

20,303

10,568

12,65

16,142

20,408

10,174

12,106

15,697

20,187

7,205

9,887

14,342

19,638

Таблица 14

8,634

11,771

15,803

20,302

10,564

12,645

16,137

20,406

10,169

12,099

15,691

20,184

7,201

9,882

14,338

19,636

Таблица 15

8,633

11,769

15,802

20,302

10,561

12,641

16,135

20,405

10,165

12,095

15,688

20,182

7,199

9,879

14,335

19,635

Таблица 16

8,632

11,767

15,8

20,301

10,558

12,637

16,131

20,403

10,162

12,09

15,684

20,18

7,196

9,875

14,332

19,634

Таблица 17

8,632

11,768

15,801

20,301

10,559

12,639

16,133

20,404

10,163

12,092

15,686

20,181

7,197

9,876

14,334

19,634

Таблица 18

9,631

11,767

15,8

20,301

10,557

12,636

16,131

20,403

10,161

12,089

15,683

20,18

7,195

9,874

14,332

19,633

Таблица 19

8,631

11,767

15,799

20,3

10,557

12,636

16,13

20,403

10,16

12,088

15,683

20,18

7,195

9,873

14,331

19,633

В таблице 20 представлены конечные значения во внутренних точках, значения на границе, а также значения аргументов x,y функции U(x,y).

Таблица 20

0

5

10

15

20

25

0,8

7,2

8,63

11,77

15,80

20,30

25

0,6

10,8

10,56

12,64

16,13

20,40

25

0,4

10,8

10,16

12,09

15,68

20,18

25

0,2

7,2

7,20

9,87

14,33

19,63

25

0

0,0

1,55

5,88

12,14

19,02

25

Yi|Xi

0

0,2

0,4

0,6

0,8

1

Заключение

В ходе курсовой работы представлен метод приближенного решения задачи Дирихле для уравнения Лапласа. Выведена общая формула для нахождения значений функции во внутренних узловых точках, а также посчитаны значения функции на границе и начальные значения функции во внутренних точках. С помощью общей формулы составлена система линейных алгебраических уравнений, которая впоследствии преобразована в рабочие формулы для метода Зайделя для решения систем линейных алгебраических уравнений. Для решения системы уравнений написана программа, реализующая метод Зайделя.

Библиографический список

1 Численные методы: учебное пособие : в 2 ч., Ч. 2 / Пименов В. Г. , Ложников А. Б. Екатеринбург: Издательство Уральского университета, 2014. 107 c.

2 Численные методы: лекции / Слабнов В. Д. Казань: Познание, 2012 2012. 192 c.

3 Численные методы: учебное пособие / Балабко Л. В. Архангельск: САФУ, 2014 Томилова А. В., 2014. 163 c.

Размещено на Allbest.ru


Подобные документы

  • Решение конечно-разностной задачи Дирихле для уравнения Лапласа в прямоугольной области. Погрешность замены дифференциального уравнения разностным. Использование схемы узлов при получении сеточных уравнений. Сущность метода Зайделя. Листинг программы.

    курсовая работа [348,5 K], добавлен 26.04.2011

  • Решение уравнения методом половинного деления. Программа в Matlab для уравнения (x-2)cos(x)=1. Решение нелинейных уравнений методом Ньютона. Интерполяция заданной функции. Решение системы линейных алгебраических и обыкновенных дифференциальных уравнений.

    курсовая работа [1,4 M], добавлен 15.08.2012

  • Использование метода Зейделя для нахождения корней системы линейных алгебраических уравнений. Суть метода простых итераций. Оценка погрешности нормальной системы. Составление алгоритма, блок-схемы и кода программы. Тестовый пример и проверка в MathCad.

    лабораторная работа [174,8 K], добавлен 02.10.2013

  • Постановка задачи, математические и алгоритмические основы решения системы линейных алгебраических уравнений. Решение системы данных уравнений методом Гаусса с выбором главного элемента по столбцу. Функциональные модели и блок-схемы решения задачи.

    курсовая работа [428,9 K], добавлен 25.01.2010

  • Математическое описание алгоритмов схемы и операций для уравнения Лапласа. Изучение разностной схемы "крест" для нахождения численного решения эллиптического уравнения, задача Дирихле. Использование указателей в среде Matlab для решений методом Гаусса.

    дипломная работа [859,3 K], добавлен 23.10.2014

  • Численные методы решения задач. Решение алгебраических и трансцендентных уравнений. Уточнение корня по методу половинного деления. Решение систем линейных уравнений методом итераций. Методы решения дифференциальных уравнений. Решение транспортной задачи.

    курсовая работа [149,7 K], добавлен 16.11.2008

  • Приведение системы линейных алгебраических уравнений к треугольному виду прямым ходом метода Гаусса. Применение обратного хода метода вращений. Создание алгоритма, блок-схемы и кода программы. Тестовый пример решения уравнения и его проверка в MathCad.

    лабораторная работа [164,3 K], добавлен 02.10.2013

  • Решение задачи Коши для дифференциального уравнения методом Рунге-Кутта и Адамса с автоматическим выбором шага и заданным шагом. Интерполирование табличной функции. Численное решение системы линейных алгебраических уравнений методами простой итерации.

    методичка [35,8 K], добавлен 15.03.2009

  • Проектирование приложения, позволяющего находить решение системы алгебраических линейных уравнений матричным методом. Выбор количества уравнений, заполнение значений коэффициентов системы уравнений и свободных членов, алгоритм решения линейных уравнений.

    курсовая работа [939,4 K], добавлен 16.01.2014

  • Применение итерационных методов численного решения системы линейных алгебраических уравнений при вычислении на ЭВМ. Математические и алгоритмические основы решения задачи, метод Гаусса. Функциональные модели и блок-схемы, программная реализация решения.

    курсовая работа [527,5 K], добавлен 25.01.2010

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