The program discdynprog.m computes the value function and the policy function using discrete value function iteration on a fixed grid (the current asset holdings and the future ones are both constrained on the same grid). joinmarkov.m takes the policy function and the transition matrix for the exogenous shocks and computes the ergodic distribution of the model, calling ergodicdist.m. ridders.m is a univariate robust solver that implements Ridder's algorithm (an efficient variant of bisection). uniformnodes.m generates uniformly distributed grids in a convenient form. Finally, rouwenhorst.m approximates an AR(1) process using the Rouwenhorst method, and has been written by Martin Flodén (it can be downloaded from here)