PERSAMAAN DIFERENSIAL (DIFFERENTIAL EQUATION) metode euler metode runge-kutta
Persamaan Diferensial Persamaan paling penting dalam bidang rekayasa, paling bisa menjelaskan apa yang terjadi dalam sistem fisik. Menghitung jarak terhadap waktu dengan kecepatan tertentu, 50 misalnya.
When you make a model in ecology, what usually happens is you make a box and arrow diagram
And then decide how each of those boxes change…that is, the rates of input and output into and out of each box. And what you end up with is a bunch of rate equations Rate equations
Persamaan Diferensial Solusinya, secara analitik dengan integral, C adalah konstanta integrasi Artinya, solusi analitis tersebut terdiri dari banyak ‘alternatif’ C hanya bisa dicari jika mengetahui nilai x dan t. Sehingga, untuk contoh di atas, jika x(0) = (x saat t=0) = 0, maka C = 0
Klasifikasi Persamaan Diferensial Persamaan yang mengandung turunan dari satu atau lebih variabel tak bebas, terhadap satu atau lebih variabel bebas. Dibedakan menurut: Tipe (ordiner/biasa atau parsial) Orde (ditentukan oleh turunan tertinggi yang ada Liniarity (linier atau non-linier)
PDO Pers.dif. Ordiner = pers. yg mengandung sejumlah tertentu turunan ordiner dari satu atau lebih variabel tak bebas terhadap satu variabel bebas. y(t) = variabel tak bebas t = variabel bebas dan turunan y(t) Pers di atas: ordiner, orde dua, linier
PDO Dinyatakan dalam 1 peubah dalam menurunkan suatu fungsi Contoh:
Partial Differential Equation Jika dinyatakan dalam lebih dari 1 peubah, disebut sebagai persamaan diferensial parsial Pers.dif. Parsial mengandung sejumlah tertentu turunan dari paling tidak satu variabel tak bebas terhadap lebih dari satu variabel bebas. Banyak ditemui dalam persamaan transfer polutan (adveksi, dispersi, diffusi)
PDO Ordiner, linier, orde 3 Ordiner, linier, orde 2 Ordiner, non linier, orde 1
Solusi persamaan diferensial Secara analitik, mencari solusi persamaan diferensial adalah dengan mencari fungsi integral nya. Contoh, untuk fungsi pertumbuhan secara eksponensial, persamaan umum:
And then decide how each of those boxes change…that is, the rates of input and output into and out of each box. And what you end up with is a bunch of rate equations Rate equations
But what you really want to know is… the sizes of the boxes (or state variables) and how they change through time That is, you want to know: the state equations There are two basic ways of finding the state equations for the state variables based on your known rate equations: 1) Analytical integration 2) Numerical integration
Suatu kultur bakteria tumbuh dengan kecepatan yang proporsional dengan jumlah bakteria yang ada pada setiap waktu. Diketahui bahwa jumlah bakteri bertambah menjadi dua kali lipat setiap 5 jam. Jika kultur tersebut berjumlah satu unit pada saat t = 0, berapa kira-kira jumlah bakteri setelah satu jam?
Solusi persamaan diferensial Jumlah bakteri menjadi dua kali lipat setiap 5 jam, maka k = (ln 2)/5 Jika P0 = 1 unit, maka setelah satu jam…
The Analytical Solution of the Rate Equation is the State Equation If you are working with simple equations, such as the logistic, you can solve your known rate equation analytically to find the state equation and see how N changes over time with different parameter values Rate equation (dsolve in Maple) State equation
There are very few models in ecology that can be solved analytically. In most cases your equation or system of equations will be too complicated to find an analytical solution. If this case we have to resort to numerical techniques to estimate the state equation
Solusi Numerik Numerical integration Eulers Runge-Kutta
Numerical integration makes use of this relationship: Which you’ve seen before… Relationship between continuous and discrete time models *You used this relationship in Lab 1 to program the logistic rate equation in Visual Basic: Which estimates y(t + delta-t) by adding the rate equation dy/dt * change in time to the original, specified, value of y(t). Which you’ve seen before, primarily as the relationship between discrete and continuous time models…
Fundamental Approach of Numerical Integration y = f(t), unknown yt+t, unknown yt+t, estimated y This relationship is the basis of numerical integration – that is using your known rate equation, dy/dt, to calculate the slope at y at t, which is specified, to estimate y at t+delta-t. The basic problem is that you don’t know the state equation but you want to know how y changes through time as a result of your known rate equation dy/dt. So you use the rate equation at a known point, here y at t, to find the slope of the state equation (or dy/dt) at y at t. You then use this slope, over the specified time interval, delta-t, to estimate the next point along the unknown state equation. In this case, that next point is y(t + delta-t) , known yt, known t, specified t
Euler’s Method: yt+ t ≈ yt + dy/dt t As I mentioned before, this is what you did when you used the logisitic rate equation to estimate points along the state function at a constant t step over a long time interval, so what I want to point out here is that this it is an iterative process. This method of numerical integration is called euler’s method, and is the simplest form of numerical integration. When delta t is small it works reasonably well but it is not always the best choice for estimating the state equation. Calculate dN/dt*1 at Nt Add it to Nt to estimate Nt+ t Nt+ t becomes the new Nt Calculte dN/dt * 1 at new Nt Use dN/dt to estimate next Nt+ t Repeat these steps to estimate the state function over your desired time length (here 30 years) Euler’s Method: yt+ t ≈ yt + dy/dt t
Example of Numerical Integration point to estimate Analytical solution to dy/dt Y0 = 10 And I will use this simple differential equation, for which there is a solution to demonstrate this idea. The main goal of any num int technique is to accurately estimate points along the unknown state function using the rate equation. Remember that we don’t really know the line, we only know its derivative. Line is there for illustration only. The line is the function whose derivative is given above. t = 0.5
Euler’s Method: yt+ t ≈ yt + dy/dt t analytical y(t+ t) m1 = dy/dt at yt m1 = 6*10-.007*(10)2 y = m1*t yest= yt + y y estimated y(t+ t) In many cases, when delta t is not very small, euler’s method does not give a very accurate or satisfying estimate of the true y (t+delta-t) because the slope at y at t does not estimate the change in y over delta-t accurately y yt = 10 t = 0.5
Runge-Kutta Example point to estimate Problem: estimate the slope to calculate y y The challenge, then, is finding a slope that will more accurately estimate the change in y over delta-t to get a more accurate estimate of the point along the unknown state function – this is what runga kutta attempts to do. Remember that we don’t really know the line, we only know its derivative. Line is there for illustration only. The line is the function whose derivative is given above. t = 0.5
Weighted average of > 1 slope Runge-Kutta Example estimated yt+Δt ½ Δt Δt t Unknown point to estimate, yt+Δt Weighted average of > 1 slope estimated yt+Δt If you have a relatively large delta-t and the slope of the unknown state function is not linear between t and t+delta t, the slope of the line may vary dramatically between t and t+delta-t So that using a single calculation of the slope of the state function at time between t and t + delta-t to estimate y(t+delta-t) might not give you a very good estimate the true value estimated yt+Δt yt t = 0.5
Runge-Kutta, 4th order Uses the derivative, dy/dt, to calculate 4 slopes (m1…m4) within Δt: The fourth order runga kutta method is the most frequently used technique of numerical integration – it uses four calculations of the slope within the specified time step to more accurately represent the change in y, and therefore give a more accurate estimate of y at t+delta-t. Slope is calculated four times at t, ½ delta-t, and delta-t These 4 slopes are used to calculate a weighted slope of the state function between t and t + Δt, which is used to estimate yt+ Δt:
Evaluate slope at current value of state variable. Step 1: Evaluate slope at current value of state variable. y0 = 10 m1 = dy/dt at y0 m1 = 6*10-.007*(10)2 m1 = 59.3 y m1=slope 1 y0
A) Calculate y1at t +t/2 using m1. B) Evaluate slope at y1. Step 2: A) Calculate y1at t +t/2 using m1. B) Evaluate slope at y1. A) y1 = y0 + m1* t /2 y1 = 24.82 B) m2 = dy/dt at y1 m2 = 6*24.8-.007*(24.8)2 m2 = 144.63 m2=slope 2 This slope is then used to calculate y1, which is the point along that line at ½ delta-t Dy/dt is then used to calculate the slope at y1 y1 t = 0.5/2
Calculate y2 at t +t/2 using k2. Step 3: Calculate y2 at t +t/2 using k2. Evaluate slope at y2. y2 = y0 + k2* t /2 y2 = 46.2 k3 = slope 3 k3 = dy/dt at y2 k3 = 6*46.2-.007*(46.2)2 k3 = 263.0 y2 t = 0.5/2
Calculate y3 at t +t using k3. Step 4: Calculate y3 at t +t using k3. Evaluate slope at y3. y3 = y0 + k3* t y3 =141.5 y3 k4 = slope 4 k4 = dy/dt at y3 k4 = 6*141.0-.007*(141.0)2 k4 = 706.9 y2 t = 0.5
Now you have 4 calculations of the slope of the state equation between t and t+Δt m4 = slope 4 m3 = slope3 m2 = slope 2 Now you have 4 slopes, some of which are much steeper than the slope that would be needed to calculate f(t+delta-t) and some that are much less steep. m1 = slope 1 t = 0.5
Calculate weighted slope. Use weighted slope to estimate y at t +t Step 5: Calculate weighted slope. Use weighted slope to estimate y at t +t weighted slope = true value weighted slope estimated value All of these are used to calculate a weighted average slope of the state equation between t and t + delta t that is used to estimate y(t+delta-t) which results in a much more accurate estimate than techniques such as eulers. t = 0.5
Conclusions Analytical 4th order Runge-Kutta offers substantial improvement over Eulers. Both techniques provide estimates, not “true” values. The accuracy of the estimate depends on the size of the step used in the algorithm. Runge-Kutta Eulers