Main Content

angl2str

Convert angles to character array

Syntax

str = angl2str(angle)
str = angl2str(angle,signcode)
str = angl2str(angle,signcode,units)
str = angl2str(angle,signcode,units,n)

Description

str = angl2str(angle) converts a numerical vector of angles in degrees to a character array. The purpose of this function is to make angular-valued variables into character vectors suitable for map display.

str = angl2str(angle,signcode) specifies the method for indicating that a given angle is positive or negative, where signcode is one of the following:

'ew'east/west notation; trailing 'e' (positive longitudes) or 'w' (negative longitudes)
'ns'north/south notation; trailing 'n' (positive latitudes) or 's' (negative latitudes)
'pm'plus/minus notation; leading '+' (positive angles) or '-' (negative angles)
'none'blank/minus notation; leading '-' for negative angles or sign omitted for positive angles (the default value)

str = angl2str(angle,signcode,units) specifies the units and the output format of the returned angle, using the following values:

UnitsUnits of AngleOutput Format
'degrees'degreesdecimal degrees
'degrees2dm'degreesdegrees + decimal minutes
'degrees2dms'degreesdegrees + minutes + decimal seconds
'radians'radiansdecimal radians

str = angl2str(angle,signcode,units,n) uses the integer n to control the number of significant digits provided in the output. n is the power of 10 representing the last place of significance in the number of degrees, minutes, seconds, or radians -- for units of 'degrees', 'degrees2dm', 'degrees2dms', and 'radians', respectively. For example, if n = -2 (the default), angl2str rounds to the nearest hundredth. If n = -0, angl2str rounds to the nearest integer. And if n = 1, angl2str rounds to the tens place, although positive values of n are of little practical use. Note that this sign convention for n is opposite to the one used by the MATLAB® round function.

Examples

collapse all

Create a series of values for angles.

a = -3:1.5:3;

Convert the numeric values in DMS units, using the north-south format.

str = angl2str(a,'ns','degrees2dms',-3)
str = 5x25 char array
    ' 3^{\circ} 00' 00.000" S '
    ' 1^{\circ} 30' 00.000" S '
    ' 0^{\circ} 00' 00.000"   '
    ' 1^{\circ} 30' 00.000" N '
    ' 3^{\circ} 00' 00.000" N '

These LaTeX strings are displayed (using the text function) as follows:

x = [.1 .1 .1 .1 .1];
y = [.1 .2 .3 .4 .5];
text(x,y,str)

Introduced before R2006a