## Actually, there are many ways to evaluate

**f***'*at midpoints, which add higher order error terms with different coefficients. Can add these together in ways such that higher order error terms cancel.- e.g. can build
__fourth-order Runge-Kutta__(RK4):**k**1 =*h***f***'*(*tn*,**y***n*)**k**2 =*h***f***'*(*tn*+*h*/2,**y***n*+**k**1/2)**k**3 =*h***f***'*(*tn*+*h*/2,**y***n*+**k**2/2)**k**4 =*h***f***'*(*tn*+*h*,**y***n*+**k**3)- Then
**y***n*+1 =**y***n*+**k**1/6 +**k**2/3 +**k**3/3 +**k**4/6 +*O*(*h*5)

- e.g. can build