Learn R Programming

Sim.DiffProc (version 2.5)

Spendu: Stochastic pendulum

Description

You can see from this simulation the stochastic pendulum, the temporal graph and the phase portrait.

Usage

Spendu(N, T, theta0, theta1, lambda, omega, sigma, Step = FALSE, Output = FALSE)

Arguments

N
size of process.
T
final time.
theta0
Initial conditions, position (rad), -pi < theta0 < pi.
theta1
Initial conditions, speed (rad/s).
lambda
Amortization (1/s).
omega
Angular frequency (rad/s).
sigma
Dark random excitation.
Step
if Step = TRUE ploting step by step.
Output
If Output = yes write a output to an Excel (.csv).

Value

  • data.frame(time,X(t)), plot of process X(t) in the phase portrait (2D) and temporal evolution of stochastic pendulum.

Details

On this simulation the movement of the stochastic pendulum as well as the temporal graph and the portrait of phase. Cursors make it possible to modify the parameters of the oscillator (lambda: damping and omega: own pulsation), as well as the initial conditions. Stochastic perturbations of the pendulum equation, and random excitations force of such systems by White noise e(t), with delta-type correlation functions E(e(t)e(t+h))=sigma*deltat(h): $$x'' + 2*lambda*x' +omega^2 * sin(x) = e(t)$$ where lambda,sigma >= 0 and omega > 0. To observe the evolution of the portrait of phase when the initial conditions are modified:
  • When the amplitude is large, one notices the difference in behavior with the harmonic oscillator: lengthening of the period, deformation of the graphs.
  • When the pendulum does one (or several) turn, the portrait of phase opens: is it closed again?

References

Fima C Klebaner. Introduction to stochastic calculus with application (Second Edition), Imperial College Press (ICP), 2005.

See Also

Sharosc stochastic harmonic oscillator, Svandp stochastic Van der Pol oscillator, Srayle stochastic Rayleigh oscillator, SSCPP stochastic system with a cylindric phase plane, Sosadd stochastic oscillator with additive noise.

Examples

Run this code
## theta0= 3, theta1 = 0, lambda=0.1, omega=2, sigma=0.1
 Spendu(N=5000, T=50, theta0=3, theta1=0, lambda=0.1, omega=2, sigma=0.1)

Run the code above in your browser using DataLab