This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| 
                    gibson:teaching:spring-2016:math445:lecture:timestepping [2016/04/14 15:31] gibson [Problem 2]  | 
                
                    gibson:teaching:spring-2016:math445:lecture:timestepping [2016/04/14 18:23] (current) gibson [Problem 4]  | 
            ||
|---|---|---|---|
| Line 81: | Line 81: | ||
| {{ :gibson:teaching:spring-2016:math445:lecture:cylinderpath1.png?direct&400 }} | {{ :gibson:teaching:spring-2016:math445:lecture:cylinderpath1.png?direct&400 }} | ||
| - | Note that the computed trajectory is not very accurate, since we chose quite a large time step $\Delta t = 0.4$, and forward-Euler is only 1st-order accurate (error scales as $\Delta t$). | + | |
| + | Note that the trajectory computed here is not very accurate. The particle shouldexit the box at the same $y$ value it had when it entered. The problem is we chose quite a large time step $\Delta t = 0.4$, and forward-Euler is only 1st-order accurate (error scales as $\Delta t$). In the next problem, we'll reduce the time step to $\Delta t = 0.01$ and get a more accurate solution --though still not as good as the 4th-order accurate ''ode45'' function. | ||
| ---- | ---- | ||
| Line 170: | Line 172: | ||
| x0 = [-2.8; y]; % set initial position of particle | x0 = [-2.8; y]; % set initial position of particle | ||
| - | [t, x] = ode45(@v, [0 T], x0); % compute x(t) at given values of t | + | [t, x] = ode45(@v, [0 T], x0); % compute x(t) over range 0 <= t <= T | 
| plot(x(:,1), x(:,2), 'r-');  % plot the path | plot(x(:,1), x(:,2), 'r-');  % plot the path | ||