pub struct LorenzSystem {
pub sigma: f64,
pub rho: f64,
pub beta: f64,
}Expand description
Parameters and state for the Lorenz attractor.
The Lorenz equations are:
dx/dt = σ(y − x)
dy/dt = x(ρ − z) − y
dz/dt = xy − βzwith the classic chaotic parameters σ = 10, ρ = 28, β = 8/3.
Fields§
§sigma: f64Prandtl number σ.
rho: f64Rayleigh number ρ.
beta: f64Geometric factor β.
Implementations§
Source§impl LorenzSystem
impl LorenzSystem
Sourcepub fn new(sigma: f64, rho: f64, beta: f64) -> Self
pub fn new(sigma: f64, rho: f64, beta: f64) -> Self
Creates a new Lorenz system with the given parameters.
Sourcepub fn deriv(&self, state: [f64; 3]) -> [f64; 3]
pub fn deriv(&self, state: [f64; 3]) -> [f64; 3]
Computes the time derivative [dx/dt, dy/dt, dz/dt] at state [x, y, z].
Sourcepub fn integrate(
&self,
initial: [f64; 3],
dt: f64,
steps: usize,
) -> Vec<[f64; 3]>
pub fn integrate( &self, initial: [f64; 3], dt: f64, steps: usize, ) -> Vec<[f64; 3]>
Integrates using the 4th-order Runge-Kutta method for steps steps of size dt.
Sourcepub fn fixed_points(&self) -> [[f64; 3]; 3]
pub fn fixed_points(&self) -> [[f64; 3]; 3]
Returns the three fixed points of the Lorenz system (origin and two symmetric points).
Trait Implementations§
Source§impl Clone for LorenzSystem
impl Clone for LorenzSystem
Source§fn clone(&self) -> LorenzSystem
fn clone(&self) -> LorenzSystem
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for LorenzSystem
impl RefUnwindSafe for LorenzSystem
impl Send for LorenzSystem
impl Sync for LorenzSystem
impl Unpin for LorenzSystem
impl UnsafeUnpin for LorenzSystem
impl UnwindSafe for LorenzSystem
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.