# angle

Angle between sites

## Syntax

``[az,el] = angle(site1,site2)``
``[az,el] = angle(site1,site2,path)``
``[az,el] = angle(___,Name,Value)``

## Description

example

````[az,el] = angle(site1,site2)` returns the azimuth and elevation angles between site 1 and site```

example

````[az,el] = angle(site1,site2,path)` returns the angles using a specified path type, either Euclidean or great circle path.```
````[az,el] = angle(___,Name,Value)` returns the azimuth and elevation angles with additional options specified by name-value pairs.```

## Examples

collapse all

Create transmitter and receiver sites.

```tx = txsite('Name','MathWorks','Latitude',42.3001,'Longitude',-71.3504); rx = rxsite('Name','Fenway Park','Latitude',42.3467,'Longitude',-71.0972);```

Get the azimuth and elevation angles between the sites.

`[az,el] = angle(tx,rx)`
```az = 14.0142 ```
```el = -0.2816 ```

Get the azimuth angle between sites in degrees clockwise from north.

```azFromEast = angle(tx,rx); % Unit: degrees counter-clockwise from east azFromNorth = -azFromEast + 90 % Convert angle to clockwise from north```
```azFromNorth = 75.9858 ```

Create transmitter and receiver sites.

```tx = txsite('Name','MathWorks','Latitude',42.3001,'Longitude',-71.3504); rx = rxsite('Name','Fenway Park','Latitude',42.3467,'Longitude',-71.0972);```

Get the azimuth and elevation angles between the sites.

`[az,el] = angle(tx,rx,'greatcircle')`
```az = 14.0635 ```
```el = 0 ```

## Input Arguments

collapse all

Transmitter or receiver site, specified as a `txsite` or `rxsite` object. You can use array inputs to specify multiple sites.

Measurement path type, specified as one of the following:

• `'euclidean'`: Uses the shortest path through space connecting the antenna center positions of the site 1 and site 2.

• `'greatcircle'`: Uses the shortest path on the surface of the earth connecting the latitude and longitude locations of site 1 and site 2. This path uses a spherical Earth model.

Data Types: `char`

### Name-Value Pair Arguments

Specify optional comma-separated pairs of `Name,Value` arguments. `Name` is the argument name and `Value` is the corresponding value. `Name` must appear inside quotes. You can specify several name and value pair arguments in any order as `Name1,Value1,...,NameN,ValueN`.

Example: `'Map','siteviewer1'`

Map for visualization or surface data, specified as the comma-separated pair consisting of `'Map` and one of the following depending on the coordinate system:

Coordinate SystemValid map valuesDefault map value
`'geographic'`
• A terrain name may be specified if the function is called with an output argument. Valid terrain names are `'none'`, `'gmted2010'`, or the name of the custom terrain data added using `addCustomTerrain`

• current siteviewer or new siteviewer if none are open.

• `'gmted2010'` if called with an output.

`'cartesian'``'none'`, triangulation object or name of an STL file.`'none'`

[a] Alignment of boundaries and region labels are a presentation of the feature provided by the data vendors and do not imply endorsement by MathWorks®.

Data Types: `char` | `string`

## Output Arguments

collapse all

Azimuth angle between site 1 and site 2, returned as M-by-N arrays in degrees. M is the number of sites in sites 2 and N is the number of sites in sites 1. The azimuth angle is expressed in degrees counter-clockwise from the east (for geographic sites), or from the global x-axis around the global z-axis (for Cartesian sites), ranging from -180 to 180

Elevation angle between site 1 and site 2, returned as M-by-N arrays in degrees. M is the number of sites in sites 2 and N is the number of sites in sites 1 The elevation angle is expressed in degrees from the horizontal (or X-Y) plane, ranging from -90 to 90.

When the path type specified is `'greatcircle'`, elevation angle is always zero.

## See Also

Introduced in R2019b

## Support

#### Bridging Wireless Communications Design and Testing with MATLAB

Download white paper