Step one: Create an m-file for the system by going to the file menu. Call it anything you like (spring in my example). The contents of the file are, for a system of n equations: function dy=name(t,y) dy = zeros(n,1) dy(1) = f(1,t,y(1), etc) dy(2) = f(2,t,y(1) etc) . . dy(n) = f(n,t,y(1) etc); For example, for the 2X2 system x' = y; y' = -sin(x) the contents of the m-file should be as below. The system knows to call the file spring.m . Here are the contents of springb.m: function dy=spring(t,y) dy = zeros(2,1); dy(1)= y(2); dy(2)= -sin(y(1)); Step 2: Now you need to compute it.Make a new file (Don't ask me why). Here are the lines of code which compute the solutions in an interval [0,40], with initial data y(1) = 0, y(2) = 1.8 at 0 and ask for a plot. tspan = [0,40]; f0 = [0, 1.8] [T,Y] = ode45(@spring,tspan, f0); plot(T,Y(:,1),'-',T,Y(:,2), '-.'); You can use any time interval [0,T] and, of course, you need to give the entire initial n initial vector if it is an nXn system rather than a 2X2 one. Also, you will need to ask for each function of the plot (or omit it if you like) Now save the second file under a new name. Type the name of the second file in the command window and if all goes well, you will either get your plot or some red stuff telling you what you did wrong. Be sure to adjust the time intervals appropriately.