bloch_axis.m
Reconstructs the instantaneous Bloch equation rotation axis from a 3D magnetisation trajectory. The first and the second derivatives of each Cartesian component are obtained with five-point finite-difference stencils using fdvec.m, and the output is their vector cross product. For a trajectory obeying dM/dt=w x M the first derivative is perpendicular to the rotation axis, and the cross product of the first and the second derivative is therefore parallel to that axis, with the magnitude of the square of the trajectory speed. The vectors returned are not normalised, and the differentiation is with respect to the point index rather than time, so only the direction of the axis is independent of the sampling interval.
Syntax
[ax,ay,az]=bloch_axis(x,y,z)
Parameters
x, y, z - row vectors of equal length con-
taining the trajectory
Outputs
ax, ay, az - row vectors of equal length con-
taining the instantaneous axis
Notes
The finite-difference stencils are sided at the ends of the trajectory, so the axis returned for the first and the last few points is less accurate than in the middle.
See also
fdvec.m, trajan.m, Kernel utilities
Version 2.13, authors: Ilya Kuprov