Лабораторна робота № 9

Розв’язання диференційних рівнянь. Крайова задача

Теоретичні відомості

Постановка задачі. Дано диференційне рівняння другого порядку:

. (9.1)

Необхідно знайти функцію y(x), яка є розв’язком рівняння (9.1) і на кінцях відрізку [a, b] задовольняє крайовим умовам:

. (9.2)

Оскільки умови (9.2) повинні виконуватися у двох точках – на кінцях інтервалу [a, b], то задачу називають двоточковою крайовою задачею.

Метод кінцевих різниць. Розіб’ємо відрізок [a, b] на n частин довжиною: . Введемо позначення , , .

Замінимо в кожній внутрішній точці похідні відношенням кінцевих різниць:

, . (9.3)

Для граничних точок:

, . (9.4)

Замінимо рівняння (9.1) та крайові умови (9.2) системою лінійних алгебраїчних рівнянь:

. (9.5)

Функції Mathcad, описані вище, дозволяють знаходити розв’язок диференціального рівняння n-ого порядку за умови, що відомі початкові умови для розв’язку і його перших (n –1) похідних в початковій точці інтервалу.

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

Звернете увагу, що функція sbval не повертає розв’язок диференціального рівняння. Вона тільки обчислює початкові умови, яких бракує.

sbval (v, x1, x2, D, load, score) повертає вектор, що містить початкові умови, яких не дістає в точці x1.

v –вектор початкових наближень для шуканих початкових значень в точці x1.

x1, x2 – граничні точки інтервалу, на якому шукається вирішення диференціальних рівнянь.

D (x, у) – функція - вектор з n елементів, містить перші похідні невідомих функцій.

load (x1, v) – функція, що повертає значення початкових умов в точці x1. Вектор складається з n елементів. Вони відповідають вектору початкових умов в точці x1. Деякі з цих елементів будуть константами, що визначаються початковими умовами. Інші елементи будуть невідомими і будуть знайдені функцією sbval.

score (x2, у) – функція, що повертає вектор, кількість елементів якого дорівнює числу елементів вектора v. Кожен елемент вектора містить різницю між початковою умовою, заданою в точці x2, і відповідним обчисленим значенням в цій точці. Вектор score показує, наскільки значення знайденого рішення в точці x2 близькі до значень, заданих в x2. Значення 0 для будь-якого елементу указує на повний збіг між заданою початковою умовою і тим значенням, яке повертається функцією sbval.

Завдання

1. Методом кінцевих різниць звести крайову задачу до системи лінійних алгебраїчних рівнянь.

а=0, b=1, , , , ya=0, yb=-2, n=5.

2. Розв’язати крайову задачу методом кінцевих різниць в Mathcad.

3. Розв’язати методом стрільби за допомогою вбудованої функції sbval.

4. Розв’язати за допомогою функції odesolve

5. Побудувати графіки отриманих наближених рішень.

Порядок виконання

Обчислимо крок сітки: і розіб’ємо інтервал [0, 1] на частини. В результаті отримаємо шість вузлових точок:

, , , , , .

Замінимо дане рівняння у внутрішніх точках різницевим рівнянням:

.

В граничних точках:

Таким чином отримаємо систему з n+1=6 лінійних рівнянь відносно (n+1) невідомих , , , , , що є значеннями функції y(x) у вузлах сітки:

Після перетворень система має вигляд:

Розв’язання методом кінцевих різниць

Границі інтервалу:

Розмір сітки:

Граничні умови:

Крок сітки:

Формування тридіагональної матриці системи рівнянь:

Розв’язання системи лінійних алгебраїчних рівнянь

Формування розв’язку крайової задачі:

Примітка: Щоб отримати формули для обчислення елементів матриць C та D, різницеве рівняння переписане у вигляді

.

Розв’язання за допомогою вбудованої функції sbval

Введемо позначення . Тоді вихідне рівняння перетворимо на систему рівнянь першого порядку:

Визначення вектору правих частин рівнянь системи:

– початкове значення для пошуку

 
 

– різниця між обчисленим і заданим значеннями на правій границі інтервалу

Розв’язання задачі Коші зі знайденою початковою умовою:

Розв’язання за допомогою функції odesolve

Графіки розв’язків

Контрольні питання

1. Постановка крайової задачі для диференційного рівняння другого порядку.

2. Суть методу кінцевих різниць.

3. В чому полягає метод стрільби?

4. За допомогою яких функцій можна розв’язати крайову задачу в Mathcad?

5. Що містить кожен з стовпців матриці, яку повертає функція rkfixed?

Варіанти завдань

  0.7          
  0.4         -4
             
  0.8          
  0.6          
  0.3 0.6 x 8sin(x)        
  0.3 x         -2
           
  0.2 3 x        
  5x       -2  
  1.2     -3  
  0.8 8cos(x)        
  0.4          
  0.7          
  1.4 2.4 –14cos(x)        
  1.4          
  0.6          
  sin(x)   –5 1.5   –3  
  x +3          
  0.2 x          
  0.2 –1      
  0.4 4cos(2x)        
  0.6        
  0.2 x 1.8 2sin(x –4)        
  0.5 5 x   1.2    
    15–5 x –1      

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: