Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Метод прогонки





Нехай потрібно знайти розв’язок диференціального рівняння другого порядку

на відрізку , яке на кінцях цього відрізка задовольняє крайові умови

Як і в скінченно-різницевому методі в диференціальному рівнянні та граничних умовах замінимо похідні скінченими різницями та перетворимо отриману різницеву схему до вигляду

Для визначення коефіцієнтів , , та розв’яжемо різницеве рівняння відносно , з рівняння та крайових умов знайдемо і отримаємо

де

Обчислення коефіцієнтів методу називається прямим ходом методу прогонки, а обчислення - оберненим ходом.

Коефіцієнти та називають коефіцієнтами прогонки. Метод є стійким, якщо та

Приклад 2. Знайти розв’язок крайової задачі в точках , h = 0,1, за допомогою методу прогонки

Розв’язання. Побудуємо на відрізку [0; 1] сітку з кроком . Тоді Замінимо похідні в диференціальному рівнянні та крайових умовах різницевими похідними. Отримаємо у внутрішніх точках та підставимо їх в задане рівняння (див. приклад 1). Отримаємо

та в крайові умови

Отже, з різницевого рівняння , та , а з граничних умов

Для обчислення коефіцієнтів та складемо таблицю

i
  -0,9681 0,0734
  -0,9485 0,0541
  -0,9369 0,0409
  -0,9302 0,0322
  -0,9263 0,0267

Останніх два значення функції знайдемо з системи

Отримаємо . Значення функції та отримаємо з рівняння

Будемо мати та . Значення знайдемо з першої крайової умови .

Для досягнення більшої точності слід зменшити крок.

Розв’язання в середовищі MATLAB.

 

function Y=m_progonka(K,Kr,pr,dku,a,b,h)

%метод прогонки розв'язування дифрівняння другого порядку

%K - вектор коєфіцієнтів [B C D]-розраховуються з різнецевого рівняння

%Kr- вектор коєфіцієнтів [a0 a1 b0 b1 g0 g1]- розраховуються з крайових умов

%pr - права частина рівняння Y(0)-Y(1)=pr

%dku-друга крайова умова[k2a k2b k2c]-використовується для обчислення останніх %двох значень шуканої функції:

%k2a - коефіцієнт при Y(n-1)

%k2b - коефіцієнт при Y(n)

%k2c – права частина рівняння, яке зв'язує Y(n-1) та Y(n)

%a,b - проміжок, h-крок

%Y - вектор значень шуканої функції

% прямий хід - обчислення коефіцієнтів прогонки

n=(b-a)/h+1

B=K(1);

C=K(2);

D=K(3);

a0=Kr(1);

a1=Kr(2);

b0=Kr(3);

b1=Kr(4);

g1=Kr(5);

g2=Kr(6);

E=[];

F=[];

r=a1-a0*h;

e0=r/(B*r+C*a1);

E=[E e0];

f0=C*g1*h/r+D*h*h;

F=[F f0];

for i=2:n-1

e=1/(B-C*E(i-1));

f=D*h*h-C*E(i-1)*F(i-1);

E=[E e];

F=[F f];

end;

 

%обернений хід - обчислення значень функції

Y=zeros(n);

Y=Y(:,1);

A=[1 -E(n-1);dku(1) dku(2)];

BB=[F(n-1) dku(3)]';

y=(inv(A)*BB)';

Y(n)=y(2);%останні два значення функції

Y(n-1)=y(1);

for i=n-2:-1:2

Y(i)= E(i)*Y(i+1)+F(i);

end;

%перше значення функції

Y(1)=Y(2)-pr;

 

Виклик програми

 

>> K=[-1.7 0.667 0.167];

>> Kr=[0 1 1 2 0.5 1];

>> dku=[-1 1.1 0.1];

>>pr=0.1;

>> Y=m_progonka(K,Kr,pr,dku,0,1,0.2)

 

n =

 

Y =

-0.0303

0.0697

-0.0165

0.0613

-0.0312

0.0625

 


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

Знайти розв’язок крайової задачі в точках

, h = 0,1,

за допомогою

a) скінчено-різницевого методу;

b) методу прогонки.

 

N варіанта Завдання
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

 


 

НАВЧАЛЬНЕ ВИДАННЯ

 

Наближені методи розв’язування крайової задачі

для звичайних диференціальних рівнянь

 

Date: 2015-07-22; view: 317; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию