exponenta event banner

getElementNormal

Системный объект: поэтапный. UCA
Пакет: поэтапный

Нормальные векторы для элементов массива

Синтаксис

normvec = getElementNormal(sArray)
normvec = getElementNormal(sArray,elemidx)

Описание

normvec = getElementNormal(sArray) возвращает нормали элемента phased.UCA object™ системы, sArray. normv - 2-by-N матрица, где N - число элементов в sArray. Каждый столбец normv задает направление нормали соответствующего элемента в локальной системе координат в форме [azimuth;elevation]. Единицы измерения - градусы. Для получения подробной информации о локальной системе координат УЦА введите

phased.UCA.coordinateSystemInfo;
в командной строке.

normvec = getElementNormal(sArray,elemidx) возвращает только нормали элементов, указанные в индексном векторе элемента elemidx.

Входные аргументы

развернуть все

Однородный циклический массив, заданный как phased.UCA Системный объект.

Пример: phased.UCA

Вектор индекса элемента, заданный как вектор положительных целых чисел, каждое из которых принимает значение от 1 до N. Размерность N - это количество элементов массива.

Пример: [1,2,3]

Выходные аргументы

развернуть все

Нормальный вектор элементов массива, возвращаемый как 2-by-M вещественная матрица. Каждый столбец normvec задает направление нормали соответствующего элемента в локальной системе координат в форме [azimuth;elevation]. Единицы измерения - градусы. Если входной аргумент elemidx не указано, M - количество элементов массива, N. Если elemidx указано, M - размер elemidx.

Примеры

развернуть все

Постройте три различных 7-элементных UCA радиусом 0,5 метра и получите нормальные векторы средних трех элементов. Выберите нормальные векторы массива для указания по осям x, y и z.

Сначала выберите нормаль массива вдоль оси X.

sUCA1 = phased.UCA('NumElements',7,'Radius',0.5,'ArrayNormal','x');
pos = getElementPosition(sUCA1,[3,4,5])
pos = 3×3

         0         0         0
    0.3117    0.5000    0.3117
   -0.3909         0    0.3909

normvec = getElementNormal(sUCA1,[3,4,5])
normvec = 2×3

   90.0000   90.0000   90.0000
  -51.4286         0   51.4286

Эти выходные данные показывают, что элементы массива лежат в плоскости yz. Нормальные векторы элементов матрицы также лежат в плоскости yz и направлены наружу, как спицы на колесе.

Затем выберите нормаль массива вдоль оси Y.

sUCA2 = phased.UCA('NumElements',7,'Radius',0.5,'ArrayNormal','y');
pos = getElementPosition(sUCA2,[3,4,5])
pos = 3×3

    0.3117    0.5000    0.3117
         0         0         0
   -0.3909         0    0.3909

normvec = getElementNormal(sUCA2,[3,4,5])
normvec = 2×3

         0         0         0
  -51.4286         0   51.4286

Эти выходные данные показывают, что элементы массива лежат в плоскости zx. Нормальные векторы элементов массива также лежат в плоскости zx и также направлены наружу.

Наконец, задайте нормаль массива вдоль оси Z. Это значение по умолчанию для массива normal.

sUCA3 = phased.UCA('NumElements',7,'Radius',0.5,'ArrayNormal','z');
pos = getElementPosition(sUCA3,[3,4,5])
pos = 3×3

    0.3117    0.5000    0.3117
   -0.3909         0    0.3909
         0         0         0

normvec = getElementNormal(sUCA3,[3,4,5])
normvec = 2×3

  -51.4286         0   51.4286
         0         0         0

Эти выходные данные показывают, что элементы массива лежат в плоскости xy. Нормальные векторы элементов массива также лежат в плоскости xy и также направлены наружу.

Представлен в R2015a