## Syntax

``add(p,data)``
``add(p,angle,magnitude)``

## Description

example

````add(p,data)` adds antenna pattern data based on the real amplitude values in `data` to the polar plot `p`.```

example

````add(p,angle,magnitude)` adds data sets of `angle` vectors and corresponding `magnitude` matrices to polar plot `p`.```

## Examples

collapse all

Create a helix antenna that has 28 mm radius, 1.2 mm width, and 4 turns. Calculate the directivity of the antenna at 1.8 GHz.

```hx = helix(Radius=28e-3, Width=1.2e-3, Turns=4); H = pattern(hx,1.8e9,0,0:1:360);```

Plot the polar pattern.

`P = polarpattern(H);` Create a dipole antenna and calculate the directivity at 270 MHz.

```d = dipole; D = pattern(d,270e6,0,0:1:360);```

Add the directivity of the dipole to the existing polar plot of helix antenna.

`add(P,D);` Create a dipole and plot the polar pattern of its directivity at a frequency of 75 MHz.

```d = dipole; D = pattern(d,75e6,0,0:1:360); P = polarpattern(D);``` Create a cavity antenna. Calculate the directivity of the antenna at 1 GHz. Write the directivity of the antenna to `cavity.pln` using the `msiwrite` function.

```c = cavity; msiwrite(c,1e9,"cavity.pln", Name="Cavity Antenna Specifications");```

Read the data from `cavity.pln` to `Horizontal`, `Vertical`, and `Optional` structures using the `msiread` function.

`[Horizontal,Vertical,Optional] = msiread("cavity.pln")`
```Horizontal = struct with fields: PhysicalQuantity: 'Gain' Magnitude: [360x1 double] Units: 'dBi' Azimuth: [360x1 double] Elevation: 0 Frequency: 1.0000e+09 Slice: 'Elevation' ```
```Vertical = struct with fields: PhysicalQuantity: 'Gain' Magnitude: [360x1 double] Units: 'dBi' Azimuth: 0 Elevation: [360x1 double] Frequency: 1.0000e+09 Slice: 'Azimuth' ```
```Optional = struct with fields: name: 'Cavity Antenna Specifications' frequency: 1.0000e+09 gain: [1x1 struct] ```

Add horizontal directivity data of the cavity antenna to the existing polar pattern of the dipole

`add(P,Horizontal.Azimuth,Horizontal.Magnitude);` ## Input Arguments

collapse all

Polar plot, specified as a scalar handle.

Example: `polarpattern`

Antenna or array data, specified as one of the following:

• A real length-M vector, where M contains the magnitude values with angles assumed to be $\frac{\left(0:M-1\right)}{M}×{360}^{\circ }$ degrees.

• A real M-by-N matrix, where M contains the magnitude values and N contains the independent data sets. Each column in the matrix has angles taken from the vector $\frac{\left(0:M-1\right)}{M}×{360}^{\circ }$ degrees. The set of each angle can vary for each column.

• A real N-D array, where N is the number of dimensions. Arrays with dimensions `2` and greater are independent data sets.

• A complex vector or matrix, where `data` contains Cartesian coordinates ((x,y) of each point. x contains the real part of `data` and y contains the imaginary part of `data`.

When data is in a logarithmic form such as dB, magnitude values can be negative. In this case,`polarpattern` plots the lowest magnitude values at the origin of the polar plot and highest magnitude values at the maximum radius.

Example: `pattern(dipole,70e6)`

Set of angles, specified as a vector in degrees.

Set of magnitude values, specified as a vector or a matrix. For a matrix of magnitude values, each column is an independent set of magnitude values and corresponds to the same set of angles.

## Version History

Introduced in R2016a