PROJEKT 3
„Równania różniczkowe zwyczajne”
Katarzyna Lachowska 168628
Iga Zawadzka 207878
Paulina Zawiślańska 176221
Cel i problem projektu
Celem projektu było wyznaczenie równań różniczkowych zwyczajnych, które umożliwią rozwiązanie dwóch przedstawionych problemów.
Założenia
W celu rozwiązania równań różniczkowych w programie MATLAB należy:
Zdefiniować prawą stronę równania różniczkowego
Określić wektor czasu
Podać wektor wartości numerycznego rozwiązania równania różniczkowego czyli wartości funkcji w kolejnych chwilach czasu
Warunek początkowy - jest to wartość funkcji dla czasu
Opcje numerycznego rozwiązywania równania m. in. początkowy krok całkowania, dopuszczalne błędy metody.
Wyniki
PROBLEM 1
W 1798 Malthus zaproponował prosty model wzrostu populacji, w którym założono, że populacja składa się z jednego, jednorodnego gatunku.
Z powyższych założeń otrzymujemy, że:
x'(t)=kx(t)
k=u-z
Gdzie x(t) jest wielkością populacji w danym momencie, u wskaźnikiem urodzeń, z wskaźnikiem zgonów.
Ponieważ model ten prowadzi do nieograniczonego, wykładniczego rozrostu populacji został wzbogacony założeniem o skończonej dostępności zasobów, tzw. problem logistyczny opisany
równaniem:
x’(t)=kx(t)(A-x(t)).
1. Narysuj przebieg x(t) dla obu modeli dla różnych k (<0, >0, =0). Do jakich wniosków prowadzą oba modele? W domu podaj rozwiązanie analityczne, przeanalizuj rozwiązanie.
2. Dla jakich x, x’(t) = 0? Co to oznacza? Czy są to punkty stabilne, czy nie?
3. W roku 1950 populacja Polski wynosiła ok. 25,008 mln, 1970 32,642 mln a 1990 38,183 mln. Ile według wz. Malthusa a ile według modelu logistycznego powinna wynosić populacja Polski obecnie a ile za 30 lat?
4. Dodatkowe. Rozwiąż układ metodą różnić skończonych przy pomocy Excela.
Rozwiązanie:
1. Narysuj przebieg x(t) dla obu modeli dla różnych k (<0, >0, =0). Do jakich wniosków prowadzą oba modele? W domu podaj rozwiązanie analityczne, przeanalizuj rozwiązanie.
Model Malthusa: x'(t)=kx(t). W modelu przyjęto x0 = 1, przedział t od 0 do 2. W miejsce k wstawiono kolejno wartości -3, 0 i 3 i obliczono ts oraz cs.
>> cdot=@(t,c)[k*c]
cdot =
@(t,c)[k*c]
>> [ts,cs]=ode45(cdot,[0,2],1)
Tabela 1. Zestawienie wartości ts i cs dla różnych k.
k = -3 | k = 0 | k = 3 |
---|---|---|
ts | cs | ts |
0 | 1.0000 | 0 |
0.0167 | 0.9510 | 0.0500 |
0.0335 | 0.9044 | 0.1000 |
0.0502 | 0.8601 | 0.1500 |
0.0670 | 0.8180 | 0.2000 |
0.1170 | 0.7040 | 0.2500 |
0.1670 | 0.6059 | 0.3000 |
0.2170 | 0.5215 | 0.3500 |
0.2670 | 0.4489 | 0.4000 |
0.3170 | 0.3864 | 0.4500 |
0.3670 | 0.3325 | 0.5000 |
0.4170 | 0.2862 | 0.5500 |
0.4670 | 0.2464 | 0.6000 |
0.5170 | 0.2120 | 0.6500 |
0.5670 | 0.1825 | 0.7000 |
0.6170 | 0.1571 | 0.7500 |
0.6670 | 0.1352 | 0.8000 |
0.7170 | 0.1164 | 0.8500 |
0.7670 | 0.1002 | 0.9000 |
0.8170 | 0.0862 | 0.9500 |
0.8670 | 0.0742 | 1.0000 |
0.9170 | 0.0639 | 1.0500 |
0.9670 | 0.0550 | 1.1000 |
1.0170 | 0.0473 | 1.1500 |
1.0670 | 0.0407 | 1.2000 |
1.1170 | 0.0351 | 1.2500 |
1.1670 | 0.0302 | 1.3000 |
1.2170 | 0.0260 | 1.3500 |
1.2670 | 0.0224 | 1.4000 |
1.3170 | 0.0192 | 1.4500 |
1.3670 | 0.0166 | 1.5000 |
1.4170 | 0.0143 | 1.5500 |
1.4670 | 0.0123 | 1.6000 |
1.5170 | 0.0106 | 1.6500 |
1.5670 | 0.0091 | 1.7000 |
1.6170 | 0.0078 | 1.7500 |
1.6670 | 0.0067 | 1.8000 |
1.7170 | 0.0058 | 1.8500 |
1.7670 | 0.0050 | 1.9000 |
1.8170 | 0.0043 | 1.9500 |
1.8670 | 0.0037 | 2.0000 |
1.9002 | 0.0033 | - |
1.9335 | 0.0030 | - |
1.9667 | 0.0027 | - |
2.0000 | 0.0025 | - |
Rys.1. Wykres funkcji x'(t)=kx(t) dla k=0
Rys.2. Wykres funkcji x'(t)=kx(t) dla k=3
Rys.3. Wykres funkcji x'(t)=kx(t) dla k=-3
Wnioski
Dla modelu x'(t)=kx(t) można zaobserwować następującą tendencję: jeżeli k < 0 (czyli liczba zgonów jest wyższa niż liczba urodzeń) to populacja się zmniejsza. Jeżeli natomiast k > 0 (liczba urodzeń jest wyższa niż liczba zgonów) to populacja się zwiększa. W przypadku k = 0 (liczba urodzeń równa liczbie zgonów), populacja się nie zmienia.
2. Dla jakich x, x’(t) = 0? Co to oznacza? Czy są to punkty stabilne, czy nie?
x’(t) = 0 dla x = 0. Założeniem jest, że populacja jest jednorodna. Jeżeli populacja nie istnieje (x=0) to nie mogą zachodzić na niej zmiany.
3. W roku 1950 populacja Polski wynosiła ok. 25,008 mln, 1970 32,642 mln a 1990 38,183 mln. Ile według wz. Malthusa a ile według modelu logistycznego powinna wynosić populacja Polski obecnie a ile za 30 lat?
PROBLEM 2
Do zbiornika wpływa woda z szybkością 10 l/min. Zawartość zbiornika jest mieszana
a następnie opuszcza go z szybkością 10 l/min. Do zbiornika dodawana jest również sól
w ilości 0.1 kg/min. Początkowo zbiornik zawiera 10 kg soli w 100 l wody.
Rozwiązanie:
Dane:
wejście=$\ 10\ \frac{l}{m}$
wyjście =$\ 10\ \frac{l}{m}$
Cpoczątkowe= $\frac{10\text{kg}}{100l} = \ 0,1\frac{\text{kg}}{l*\min}$
Cwejście= $0,1\frac{\text{kg}}{\min}*\frac{\ 1}{100\ l} = \frac{1}{1000}\ \frac{\text{kg}}{l*min}$
Cwyjście= $\frac{1\ }{10}\text{c\ }\frac{\text{kg}}{l*min}$
Ułóż równanie różniczkowe opisujące problem.
$$\frac{dc}{\text{dt}} = c_{\text{in}} - c_{\text{out}} = \frac{1}{1000} - \frac{1}{10}c$$
Podaj rozwiązanie numeryczne (analityczne).
$$10\frac{\text{dc}}{\text{dt}} = \frac{1}{100} - c$$
$$\int_{}^{}\frac{\text{dc}}{c - \frac{1}{100}} = - \int_{}^{}{\frac{1}{10}d}t$$
$$lnC + \ln\left( c - \frac{1}{100} \right) = - \frac{1}{10}t$$
$$c\left( c - \frac{1}{100} \right) = e^{- \frac{t}{10}}$$
$$c = \frac{e^{- \frac{0}{10}}}{\frac{1}{10} - \frac{1}{100}} = \frac{100}{9}$$
$$c\left( t \right) = \frac{9}{100}e^{- \frac{t}{10}} + \frac{1}{100}$$
$$\operatorname{}{c\left( t \right) = \frac{1}{100}\frac{\text{kg}}{l}}$$
Ile soli będzie w zbiorniku po 1 h?
>> 9/100*exp(-6)+1/100
ans = 0.0102
4. Jakie jest zachowanie asymptotyczne modelu?
Rys.4 Wykres asymptotyczny modelu.
Asymptota funkcji jest prosta, prawostronna y=0.
Wnioski
Równania różniczkowe zwyczajne są jednym ze sposobów opisu zmienności parametrów w danym procesie. Za pomocą równania różniczkowego można wyznaczyć jak zmienia się stężenie soli w określonym czasie.