Методи розв’язування диференційних рівнянь у частинних похідних

Дослідження методів розв’язування диференційних рівнянь у частинних похідних. Методика розв’язування диференційних рівнянь у частинних похідних. Аналіз сутності та принципів різницевого методу. Особливості розв’язання еліптичних та гіперболічних рівнянь.

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

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

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

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

Міністерство освіти і науки України

Національний університет «Львівська політехніка»

Кафедра автоматизованих систем управління

Звіт

до лабораторної роботи № 6

з курсу «Чисельні методи в інформатиці»

на тему «Методи розв'язування диференційних рівнянь у частинних похідних»

Виконав:

студент групи КН-31

Рожок О.О.

Прийняв: Романчук Я. П.

Львів - 2010

Мета роботи: Засвоїти теоретичний матеріал і методи розв'язування диференційних рівнянь у частинних похідних, набути практичні навики знаходження їхніх наближених значень.

Короткі теоретичні відомості. Із розв'язуванням диференційних рівнянь у частинних похідних інженерам і дослідникам доводиться зустрічатися в багатьох областях науки і техніки, в аеро- і гідродинаміці, ядерній фізиці, радіозв'язку тощо.

Розрізняють три типи диференційних рівнянь другого порядку:

- еліптичні, при B2 ? 4AC < 0 ;

- параболічні, при B2 ? 4AC = 0;

- гіперболічні, при B2 ? 4AC > 0.

Рівняння можуть переходити з одного вигляду до іншого в залежності від значень коефіцієнтів. Існують два методи розв'язування диференційних рівнянь у частинних похідних: різницевий метод (метод скінченних різниць) і метод скінченних елементів. У сучасній прикладній математиці обидва методи розглядаються як інтерпретації використання загальної теорії різницевих схем до розв'язування диференційних рівнянь у частинних похідних. В основі методу cкінченних елементів лежить варіаційне числення. Диференційне рівняння, яке описує задачу, та відповідні граничні умови використовують для формулювання варіаційної задачі. В методі скінченних елементів фізична задача замінюється її кусково-гладкою моделлю. Цей метод, незважаючи на те, що він вимагає складної постановки задачі, високої кваліфікації та досвіду користувача, є неуніверсальним (кожний розв'язок застосовується лише для конкретної задачі). Метод скінченних елементів знайшов широке використання для розв'язування спеціальних задач в теоретичній механіці, гідродинаміці, теорії поля, однак, він складний, вимагає серйозної підготовки і знань в конкретній області використання. Тому при розв'язуванні задач автоматики та систем керування частіше використовується різницевий метод.

1. Різницевий метод

Для числового розв'язування диференційних рівнянь другого порядку в частинних похідних найчастіше використовується двовимірна прямокутна сітка. Центрально-різницеві шаблони, які застосовують на двовимірній квадратній сітці з кроком h , зображеній на рисунку 1 (індекс j надається незалежній змінній y , а i відноситься до x ), можуть бути отримані аналогічно як і в одновимірному випадку.

Рис. 1. Квадратна сітка.

2. Розв'язування різних типів диференційних рівнянь у частинних похідних

диференційний рівняння еліптичний гіперболічний

Практичні методи і алгоритми розв'язування різних типів диференційних рівнянь в частинних похідних мають свої особливості і вимагають окремого розгляду на прикладі найбільш розповсюджених задач.

2.1 Еліптичні рівняння

До еліптичних рівнянь зводиться багато різних фізичних задач: розрахунок напружень, які виникають при пружному скруті довгого циліндричного стрижня; розподіл електричних напруг на площині, що проводить струм; задача про стаціонарні течії тепла в двовимірному тілі.

Розглянемо класичну задачу Діріхле для рівняння Лапласа в прямокутній області, що формулюється таким чином: знайти неперервну функцію f(x,y), яка в прямокутній області Щ = {(x, y) | 0 ? x ? a, 0 ? y ? b} задовольняє рівняння Лапласа:

і приймає на границі області задані значення:

x=0; f (0,y) = f1 (y), x=a; f (a,y) = f2 (y), y=0; f (x,0) = f3 (x), y=b; f (x,b) = f4 (x).

Введемо в області розв'язання двовимірну сітку з кроком h по осі x і l по осі y. Тоді, користуючись прийнятими в попередніх розділах позначеннями і апроксимуючи рівняння Лапласа різницевим рівнянням, отримаємо таку систему лінійних рівнянь (приймемо для спрощення l=h):

(2)

при i=1,2,…,n-1; j=1,…,m-1.

Ця система рівнянь має велику кількість нульових елементів і задовольняє умови збіжності при використанні ітераційних методів. Найбільше використання для розв'язання таких систем знайшов метод Гаусса-Зейделя, який, коли застосовується до еліптичних різницевих рівнянь, називається методом Лібмана або методом послідовних зміщень.

Порядок ітерацій можна простежити, переписавши систему (2) у вигляді:

де верхніми індексами позначено порядковий номер ітерації: m - попередня, m+1 - наступна. Зазвичай вважають для всіх i, j. Система рівнянь легко розв'язується на ПЕОМ. Взагалі кажучи, будь-які еліптичні рівняння, які не містять , зводяться до систем різницевих рівнянь, які можна розв'язувати як методом Лібмана, так і іншими ітераційними методами (Якобі, послідовної верхньої релаксації та ін.), оскільки для них виконуються умови збіжності. Для еліптичних рівнянь, які містять , в загальному вигляді, питання про збіжність ітераційних методів не має теоретичного розв'язку і необхідно розглядати отриману систему рівнянь в кожному конкретному випадку.

2.2 Гіперболічні рівняння

В інженерній практиці найчастіше зустрічається гіперболічне рівняння в частинних похідних - хвильове рівняння, яке описує різні види коливань: коливання струни або мембрани, розповсюдження звукових хвиль у різних середовищах тощо.

В загальному вигляді задача формулюється таким чином: знайти функцію f (x, t), яка задовольняє всередині області Щ={(x, t) , 0 ? x ? a, 0 ?t ? T } рівняння

,

Початкові

і граничні умови

Оскільки заміна змінних t =c?t приводить рівняння до вигляду:

то надалі приймаємо с=1.

Переходячи до різницевого рівняння на сітці з кроком h по x й ф по t з центральними різницями, отримаємо

Якщо ввести , то вираз для fi, j +1 прийме вигляд:

fi, j+1 = rІ ( fi+1, j + fi?1, j ) + 2(1 ? rІ ) fi, j ? fi, j? 1. (3)

Індивідуальне завдання

u(0,y)=0; u(1,y)=y; 0?y?1

u(x,0)=0; u(x,1)=x; 0?x?1

Текст програми

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "RiznUn.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

const n=4,m=4;

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

float x[n]={0}, y[m]={0}, u[n+1][m+1]={0};

int i,j,m1,n1;

float a,b,hx,hy,s,t,w,r,e;

a=StrToFloat(LabeledEdit1->Text);

b=StrToFloat(LabeledEdit2->Text);

e=StrToFloat(LabeledEdit3->Text);

hx=a/n;

hy=b/m;

t=(hx/hy)*(hx/hy);

for (j=0; j<=m; j++)

{

y[j]=j*hy;

u[0][j]=0;

u[n][j]=y[j];

}

for (i=0; i<=n; i++)

{

x[i]=i*hx;

u[i][0]=0;

u[i][m]=x[i];

}

for (i=1; i<=n; i++)

for (j=1; j<=m; j++)

u[i][j]=1;

do

{

w=0;

for (i=1; i<=n; i++)

for (j=1; j<=m; j++)

{

s=(u[i-1][j]+u[i+1][j]+t*(u[i][j-1]+u[i][j+1]))/(2*(1+t));

r=abs(s-u[i][j]);

if (r>w) w=r;

u[i][j]=s;

}

}

while (w>=e);

StringGrid1->RowCount=n+2;

StringGrid1->ColCount=m+2;

StringGrid1->Cells[0][0]="x\\y";

for (i=0; i<=n; i++)

{

for (j=0; j<=m; j++)

StringGrid1->Cells[j+1][i+1]=FloatToStrF(u[i][j],ffFixed,6,3);

StringGrid1->Cells[0][i+1]=FloatToStrF(x[i],ffFixed,6,3);

}

for (j=0; j<=m; j++) StringGrid1->Cells[j+1][0]=FloatToStrF(y[j],ffFixed,6,3);

}

//---------------------------------------------------------------------------------

Результат виконання програми

Висновок

На цій лабораторній роботі я засвоїв теоретичний матеріал і методи розв'язування диференційних рівнянь у частинних похідних, набув практичні навики знаходження їхніх наближених значень.

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

...

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

  • Огляд та аналіз методів розв’язання системи диференціальних рівнянь та вибір методів рішення. Алгоритми методів Ейлера. Вибір методу рішення задачі Коші. Рішення диференціальних рівнянь. Отримання практичних навиків програмування на мові Паскаль.

    курсовая работа [174,3 K], добавлен 06.03.2010

  • Фізична та математична постановна задачі нагріву стержня. Типи різницевих сіток та розробка схеми, метод Кранка-Ніколсона. Опис програмної реалізації та структура відповідної системи, її головні модулі. Результати досліджень для метода Кранка-Ніколсона.

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

  • Розвиток виробництва і широке використання промислових роботів. Алгоритми методів, блок-схеми алгоритмів розв'язку даного диференційного рівняння. Аналіз результатів моделювання, прямий метод Ейлера, розв’язок диференціального рівняння в Mathcad.

    контрольная работа [59,1 K], добавлен 30.11.2009

  • В роботі розглянуто наближені методи розв’язку нелінійних рівнянь. Для вказаних методів складено блок-схеми та написано програму, за якою розв’язується задане рівняння. Аналіз як самого рівняння і методів його розв’язання так і результатів обрахунку.

    курсовая работа [302,8 K], добавлен 03.12.2009

  • Виконання "ручного" розв'язування рівняння методом Ньоютона. Розробка програми на мові С#, яка реалізує введення вихідних даних, розв'язання заданого рівняння, виведення результатів у зручній формі на екран. Визначення початкового наближення кореня.

    лабораторная работа [120,9 K], добавлен 19.01.2022

  • В роботі розглянуто наближені методи розв'язку нелінійних рівнянь для методів Ньютона та хорд, складено блок-схеми та написано програму, за допомогою якої розв'язується задане рівняння. Аналіз рівняння, методів його розв'язання і результатів обрахунку.

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

  • Реалізація інтерполяції поліномами за методами найменших квадратів і Лагранжа в Matlab. Наближення даних сплайном нульового порядку. Диференціювання полінома. Геометричний зміст похідної. Чисельне інтегрування функцій. Розв’язування диференційних рівнянь.

    контрольная работа [285,3 K], добавлен 01.06.2015

  • Графічне зображення методу половинного ділення. Вибір методу інструментальних засобів вирішення задач. Розробка логічної частини програми для розв’язання нелінійного рівняння методами половинного ділення та січних. Особливість кодування на мові Паскаль.

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

  • Види рівнянь та методи їх розв’язань. Чисельні методи уточнення коренів, постановка задачі. Рішення нелінійного рівняння методом простих та дотичних ітерацій. Використання програмних засобів. Алгоритми розв’язку задач. Програми мовою С++, їх тестування.

    курсовая работа [232,2 K], добавлен 12.02.2013

  • Розробка програмного забезпечення для розв'язку системи лінійних рівнянь за формулами Крамера, головні особливості мови Turbo Pascal. Методи розв'язування задачі, архітектура програми та її опис. Контрольний приклад та результат машинного експерименту.

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

  • Розробка програмного забезпечення для розв'язку системи лінійних рівнянь за формулами Гаусса, головні особливості мови Turbo Pascal. Методи розв'язування задачі, архітектура програми та її опис. Контрольний приклад та результат машинного експерименту.

    курсовая работа [40,3 K], добавлен 23.04.2010

  • Метод розв’язків рівнянь більш високих порядків. Вибір методу розв'язання задачі Коші. Методи розв'язання крайових задач розглядаються на прикладі звичайного диференціального рівняння другого порядку. Вибір методу інструментальних засобів вирішення задач.

    курсовая работа [132,0 K], добавлен 03.12.2009

  • Розв’язання системи рівняння методом Гауса за схемою з частковим вибором головного елементу. Рішення задачі Коші методом Рунге-Кутта. Знаходження моментів кубічних сплайнів методом прогонки. Розв’язування системи нелінійних рівнянь методом Ньютона.

    контрольная работа [252,3 K], добавлен 04.06.2010

  • Розгляд та аналіз основних способів розв’язання звичайних диференціальних рівнянь за методом Рунге-Кутта з автоматичним вибором кроку. Способи оцінки погрішності і збіжності методу Рунге-кутти четвертого порядку з автоматичним вибором довжини кроку.

    контрольная работа [31,0 K], добавлен 18.01.2013

  • Розв’язання системи лінійних та нелінійних рівнянь у програмі MathCAD. Матричний метод розв'язання системи рівнянь. Користування панеллю інструментів Математика (Math) для реалізації розрахунків в системі MathCAD. Обчислення ітераційним методом.

    контрольная работа [1023,4 K], добавлен 08.04.2011

  • Розв’язання нелінійних алгебраїчних рівнянь методом хорд. Опис структури програмного проекту та алгоритмів розв’язання задачі. Розробка та виконання тестового прикладу. Інші математичні способи знаходження коренів рівнянь, та опис виконаної програми.

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

  • Програма чисельного розв'язку систем лінійних алгебраїчних рівнянь (СЛАР) з розрідженою матрицею, економне витрачання оперативної пам'яті дозволяє розв’язувати багато систем високих ступенів за допомогою персональних комп'ютерів. Методи розв’язку СЛАР.

    дипломная работа [1,1 M], добавлен 01.08.2009

  • Стандартний спосіб розв’язання задачі Коші для звичайного диференціального рівняння першого порядку чисельними однокроковими методами. Геометричний зміст методу Ейлера. Побудова графіку інтегральної кривої. Особливість оцінки похибки за методом Рунге.

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

  • Розв’язання нелінійних алгебраїчних рівнянь методом дихотомії. Вирішення задачі знаходження коренів рівняння. Розробка алгоритму розв’язання задачі і тестового прикладу. Блок-схеми алгоритмів основних функцій. Інструкція користувача програмою мовою С++.

    курсовая работа [2,0 M], добавлен 24.09.2010

  • Схема слідкуючої системи витратоміра літака. Створення системи диференціальних рівнянь на основі рівнянь ланок (вимірювальної схеми, електронного підсилювача, двигуна і редуктора) та її розв'язання за допомогою методів з автоматичною зміною кроку.

    курсовая работа [492,6 K], добавлен 29.10.2013

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