Unwrap vector of angles with NaN-delimited parts
unwrapped = unwrapMultipart(p)
unwrapped = unwrapMultipart(p,angleUnit)
unwrapped = unwrapMultipart(p)
unwraps
a row or column vector of azimuths, longitudes, or phase angles. Input
and output units are both radians. If p
is separated
into multiple parts delimited by values of NaN, each part is unwrapped
independently. If p
has only one part, the result
is equivalent to unwrap(p)
. The output is the
same size as the input and has NaNs in the same locations.
unwrapped = unwrapMultipart(p,angleUnit)
unwraps a row or column vector of azimuths, longitudes, or phase angles,
where angleUnit
specifies the unit used for the
input and output angles: 'degrees'
or 'radians'
.
Compare the behavior unwrapMultipart
to
that of unwrap
. The output of unwrapMultipart
starts
over again at 6.11 following the NaN, unlike the output of unwrap
.
The output of unwrapMultipart
is equivalent to
a concatenation (with NaN-separator) of separate calls to unwrap
:
p1 = [0.17 5.67 4.89 4.10]; p2 = [6.11 1.05 2.27]; unwrap([p1 NaN p2]) ans = 0.1700 -0.6132 -1.3932 -2.1832 NaN -0.1732 1.0500 2.2700 unwrapMultipart([p1 NaN p2]) ans = 0.1700 -0.6132 -1.3932 -2.1832 NaN 6.1100 7.3332 8.5532 [unwrap(p1) NaN unwrap(p2)] ans = 0.1700 -0.6132 -1.3932 -2.1832 NaN 6.1100 7.3332 8.5532
Wrap two revolutions of a sphere to π with wrapToPi
,
and then unwrap it with unWrapMultipart
:
lon = wrapToPi(deg2rad(0:10:720)); unwrappedlon = unwrapMultipart(lon); figure; hold on plot(lon,'--') plot(unwrappedlon) xlabel 'Point Number' ylabel 'Longitude in radians'