Main Content

animate

Class: polarpattern

Replace existing data with new data for animation

Description

example

animate(p,data) removes all the current data from polar plot, p and adds new data, based on real amplitude values, data.

example

animate(p,angle,magnitude) removes all the current data polar plot, p and adds new data sets of angle vectors and corresponding magnitude matrices.

Input Arguments

expand all

Polar plot, specified as a scalar handle.

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 (0:M1)M×360 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 (0:M1)M×360 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.

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.

Examples

expand all

Create a helix antenna that has a 28 mm radius, a 1.2 mm width, and 4 turns. Plot 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);
P = polarpattern(H);

Create a dipole antenna and calculate its directivity at 270 MHz.

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

Replace the existing polar plot of the helix antenna with the directivity of the dipole using the animate method.

animate(P,D);

Create a default dipole antenna and plot the polar pattern of its directivity at 1 GHz.

d = dipole;
D = pattern(d,75e6,0,0:1:360);
P = polarpattern(D);

Create a default cavity antenna. Calculate the directivity of the antenna and write the data to cavity.pln using the msiwrite function.

c = cavity;
msiwrite(c,2.8e9,'cavity','Name','Cavity Antenna Specifications');

Read the cavity specifications file into 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: 2.8000e+09
               Slice: 'Elevation'

Vertical = struct with fields:
    PhysicalQuantity: 'Gain'
           Magnitude: [360x1 double]
               Units: 'dBi'
             Azimuth: 0
           Elevation: [360x1 double]
           Frequency: 2.8000e+09
               Slice: 'Azimuth'

optional = struct with fields:
         name: 'Cavity Antenna Specifications'
    frequency: 2.8000e+09
         gain: [1x1 struct]

Replace data from the dipole antenna with data from cavity antenna.

animate(P,Horizontal.Azimuth,Horizontal.Magnitude);

Introduced in R2016a