diff options
Diffstat (limited to 'lectures/lec07_intro2_eulers')
-rw-r--r-- | lectures/lec07_intro2_eulers | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/lectures/lec07_intro2_eulers b/lectures/lec07_intro2_eulers new file mode 100644 index 0000000..17630d2 --- /dev/null +++ b/lectures/lec07_intro2_eulers @@ -0,0 +1,46 @@ + +euler's method: + +dx/dt =~ ( x(t + Dt) - x(t) ) / Dt, for very small Dt + +so, x(t + Dt) = x(t) + f(x) * Dt, which is how to integrate the system + +"if Dt is too large, becomes highly unstable" (duh) + +scary MATLAB advice: +- watch out of totally crazy values (very high) +- non-negative values go negative + +MATLAB built-in ODE solvers: ode23, ode15s + +runge-kutta (use dxdt from between t_n and t_(n+1) ) +variable time-step methods + +summary: Euler's method sucks, news at 11. + +### misc julia notes + +the only place to find history (?!?!!) is in ~/.julia_history + +### codes + +using Winston + +a=20 +b=2 +c=5 +dt = 0.05 +tlast = 2 + +iterations = int( round(tlast/dt) ) +xall = zeros(iterations, 1) +x = c + +for i = 1:iterations + xall[i] = x + dxdt = a - b*x + x = x + dxdt*dt +end + +time = dt * [0:iterations-1]' +plot(time,xall) |