SPRING_ODE2 is a C++ program which shows how Gnuplot graphics can be used to illustrate a solution of the ordinary differential equation (ODE) that describes the motion of a weight attached to a spring.
This program is a revision of the SPRING_ODE program. A second change that we make is that we use vectors (C arrays) to store the data.
Hooke's law for a spring observes that the restoring force is proportional to the displacement:
F = - k xand Newton's law relates the force to acceleration:
F = m a
Putting these equations together, we have:
m * d^2 x/dt^2 = - k * x
We can add a damping force with coefficient c:
m * d^2 x/dt^2 = - k * x - c * dx/dtIf we write this as a pair of first order equations for (x,v), we have
dx/dt = v m * dv/dt = - k * x - c * vand now we can approximate these values for small time steps.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
SPRING_ODE2 is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version.
GNUPLOT, C++ programs which illustrate the use of the gnuplot graphics program.
LORENZ_ODE, a C++ program which approximates solutions to the Lorenz system, creating output files that can be displayed by Gnuplot.
GRAPHICS_EXAMPLES_GNUPLOT, gnuplot scripts which illustrate how various kinds of data can be displayed and analyzed graphically using the interactive executable graphics program GNUPLOT.
SPRING_ODE, a C++ program which shows how line printer graphics can be used to make a crude illustration of a solution of the ordinary differential equation (ODE) that describes the motion of a weight attached to a spring.
You can go up one level to the C++ source codes.