Metody Numeryczne
Sprawozdanie
Ćwiczenie 6
Numeryczne rozwiazywanie zagadnien poczatkowych równan i układów równan rózniczkowych zwyczajnych
Sprawozdanie wykonali:
Łukasz Król 152126
Marcin Ochman 152141
Cel ćwiczenia:
Praktyczne sprawdzenie wiedzy n/t popularnych metod rozwiazywania zagadnien poczatkowych
równan i układów równan rózniczkowych zwyczajnych. Porównanie przydatnosci poszczególnych metod
do rozwiazywania specyficznych zagadnien. Zaznajomienie z metodami automatycznej zmiany długosci
kroku. Obserwacja wpływu wielkosci obszaru stabilnosci absolutnej na swobode wyboru długosci kroku.
Zadanie:
Dla danego układu wyrysować charakterystyki ładowania kondensatora:
dla małego kroku
dla kroku h=0.6 τ
wykres błedu
dla kroku h= τ
Mplik:
r=1000;
c=0.001;
uwe=10;
h=0.01;
w=0.6;
m=1;
uck(1)=1;
ucl(1)=1;
ucm(1)=1;
for i=1:1:500
uck(i+1)=h*((uwe-uck(i))/(r*c))+uck(i);
ucl(i+1)=w*((uwe-ucl(i))/(r*c))+ucl(i);
ucm(i+1)=m*((uwe-ucm(i))/(r*c))+ucm(i);
bl(i+1)=uck(i+1)-ucl(i+1);
end
plot(uck,'b')
hold on
plot(ucl,'g')
hold on
plot(bl,'r')
hold on
plot(ucm,'y')
Charakterystyki:
Wykorzystane funkcje Matlaba: ode23, ode45, ode113, ode15s, i ode23s
Mplik fnkcji:
function duc = ukladRC (t,uc)
u = 10;
R = 100;
C=0.01;
duc = (u-uc)/(R*C)
Wywołanie:
[t, uc] = ode45('ukladRC',[0 10],0);
plot(t,uc,'g')
hold on
[t, uc] = ode23('ukladRC',[0 10],0);
plot(t,uc,'b')
hold on
[t, uc] = ode113('ukladRC',[0 10],0);
plot(t,uc,'y')
hold on
[t, uc] = ode15s('ukladRC',[0 10],0);
plot(t,uc,'r')
hold on
[t, uc] = ode23s('ukladRC',[0 10],0);
plot(t,uc,'black')
Wnioski:
Podsumowując efekty naszej pracy daje się zauważyć iż krok jaki zostaje przez nas dobrany posiada ogromny wpływ na poprawny wynik oraz jego dokładność zrealizowania.
Wyraźnie widać iż im wielkość kroku jest bliższa stałej ładowania kondensatora tym błąd jest większy.
Wbudowane funkcje Matlaba wykorzystujące ode23-jednokrokową metode Rungego-Kutty 2 i 3 rzędu, ode45 metode Rungego-Kutty 4 i 5 rzędu, ode113-początkowe dla równań różniczkowych zwyczajnych metodą Adams-Bashforth-Moulton, ode15s- metoda oparta na formule numerycznego różniczkowania, ode23s- metoda oparta na zmodyfikowanej formule Rosenbrocka 2 rzędu. Porównując wszystkie wykresy funkcji daje się zauważyć iż największą niedokładności daje się zauważyć przy wykorzystaniu funkcji ode23 oraz ode113.