floop
returns a fittedloop
object and calculates a variety of hysteresis loop parameters. This is a list of definitions for these parameters, as well as some only available for ellipses through fel
. If floop2r
is used a number of these parameters have differing values above and below the split line. The generalized transcendental equations used to fit these loops are
x_t=b.x*cos(2pi*t/period+phase.angle)+cx+e_{x,t}
y_t=b.y*cos(2pi*t/period+phase.angle)^n+retention*sin(2pi*t/period+phase.angle)^m+cy+e_{y,t}
where
t=0,...,n.points1 if times='equal'
Specified loop parameters.
n 
Positive integer for the split line parameter. If n=1, split line is linear; If n is even, split line has a u shape; If n is odd and higher than 1, split line has a chair or classical shape. 
m 
Positive odd integer for the bulging parameter, indicates degree of outward curving (1=highest level of bulging). 
Inherent Parameters
b.x 
saturation point x coordinate. Horizontal distance from the center to the maximum value of the input. 
b.y 
saturation point y coordinate. Vertical distance from the center to the point where the input is at its maximum. 
phase.angle 
defines the starting point of the loop. The initial angle of the input function at its origin. 
cx 
center of input x. 
cy 
center of output y. 
retention 
split point, representing vertical distance from center to upper loop trajectory. It is the intersection of the loop and the output axis characterizing the distortion in the response at the average input challenge. 
Derived Hysteresis Parameters
coercion 
the horizontal distance of the input from the center. It indicates the strain the forcing function places on the output. It is the positive root of intersection between the loop and input axis. 
lag 
lag indicates the delay between attributes of the output and the input (such as peak to peak for the ellipse when m=1, n=1). 
area 
the area of the hysteresis loop. Can indicate the work done during one cycle or period. 
split.angle 
beta, the angle between the tangent to the unsplit curve at the center and the input axis. 
hysteresis.x 
hysteresis along the input axis. The proportion of coercion due to input saturation b.x. 
hysteresis.y 
hysteresis along the output axis. The proportion of retention due to b.y. 
Ellipse Parameters
ampx 
Amplitude of the input, equal to b.x. 
ampy 
Amplitude of the output. 
rote.deg and rote.rad 
theta, counter clockwise angle of rotation between the input axis and the semimajor axis of the loop.In degrees and radians respectively. 
semi.major 
half major axis of ellipse, maximum distance from center to perimeter of ellipse. 
semi.minor 
half minor axis of ellipse, shortest distance from center to perimeter of ellipse. 
focus.x, focus.y 
input x and output y distances of focus points from center. 
eccentricity 
Measure of deviation from circle. Zero indicate no deviation from circle. √{\frac{semi.major^2semi.minor^2}/{semi.major^2}} 
Spencer Maynes, Fan Yang, and Anne Parkhurst.
Lapshin, R. (1995) Analytical model for the approximation of hysteresis loop and its application to the scanning tunneling microscope.
mloop
for simulating a hysteresis loop and floop
for fitting a hysteresis loop.
1 2 3 4 5 6 7 8 9 10 11  theloop<mloop(sd.x=0.05,sd.y=0.05,n=2,m=3)
loopmodel<floop(theloop$x,theloop$y,n=2,m=3)
loopmodel
plot(loopmodel,main="Hysteresis Loop n=2 m=3",values="hysteresis")
#Ellipse Parameters
ellipse.eig < mel(semi.major=7,semi.minor=4,rote.deg=30)
ellip.eigen.fit < fel(ellipse.eig$x,ellipse.eig$y)
ellip.eigen.fit$Estimates
plot(ellip.eigen.fit,main="Ellipse from Eigenvalue Parameters",
show=c("semi.major","semi.minor","rote.deg"),values="ellipse")

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
Please suggest features or report bugs with the GitHub issue tracker.
All documentation is copyright its authors; we didn't write any of that.