Запустите сценарий отслеживания и запишите платформу, датчик и эмиттерную информацию
возвращает запись, rec
= record(sc
)rec
, из эволюции симуляции сценария отслеживания, sc
. Функция запускается с начала симуляции и хранит запись до конца симуляции. Симуляция сценария заканчивается когда любой StopTime
сценария достигнут или любая платформа в сценарии закончила свою траекторию, заданную
Trajectory
свойство.
задает дополнительные количества записи с помощью пар "имя-значение". Заключите каждый rec
= record(___,Name,Value
)Name
в кавычках.
sc
— Отслеживание сценарияtrackingScenario
объектОтслеживание сценария в виде trackingScenario
объект.
format
— Изложите формат ориентации'quaternion'
(значение по умолчанию) | 'rotmat'
Изложите формат ориентации в виде 'quaternion'
или 'rotmat'
. Когда задано как 'quaternion'
, Orientation
поле структуры положения платформы является кватернионом. Когда задано как 'rotmat'
, Orientation
поле является матрицей вращения.
Пример: 'rotmat'
Типы данных: char
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'IncludeEmitters'
— Позвольте записать информацию об эмиссииfalse
(значение по умолчанию) | true
Позвольте записать информацию об эмиссии в виде true
или false
. Когда задано как true
, rec
выведите содержит Emissions
, EmitterConfigurations
, EmitterPlatformIDs
, и CoverageConfig
поля .
'IncludeSensors'
— Позвольте записать информацию о датчикеfalse
(значение по умолчанию) | true
Позвольте записать информацию о датчике в виде true
или false
. Когда задано как true
, rec
выведите содержит Detections
, SensorConfiguration
, SensorPlatformIDs
, и CoverageConfig
поля .
'InitialSeed'
— Начальный случайный seed для записиНачальный случайный seed для записи в виде положительного целого числа. Если задано как положительное целое число, функция присваивает этот номер генератору случайных чисел "Обманщик" перед записью и сбрасывает генератор случайных чисел в конце записи.
'HasOcclusion'
— Включите поглощение газов в передаче сигналаtrue
(значение по умолчанию) | false
Включите поглощение газов в передаче сигнала в виде true
или false
. Когда задано как true
, функция составляет эффект поглощения газов в распространении радиолокационного излучения.
'RecordingFormat'
— Формат записи'Struct'
(значение по умолчанию) | 'Recording'
Формат записи в виде 'Struct'
или 'Recording'
. Когда задано как 'Struct'
, rec
выход является массивом структур. Когда задано как 'Recording'
, rec
выходом является trackingScenarioRecording
объект.
rec
— Записи платформы утверждают в процессе моделированияtrackingScenarioRecording
объектЗаписи платформы утверждают во время симуляции, возвращенной как M-by-1 массив структур если RecordingFormat
задан как 'struct'
(значение по умолчанию) или trackingScenarioRecording
возразите если RecordingFormat
задан как 'Recording'
. M является количеством временных шагов в симуляции.
Каждая запись содержит шаг времени симуляции и записанную информацию в то время. Структура записи имеет по крайней мере два поля: SimulationTime
и Poses
. Это может также иметь другие дополнительные поля в зависимости от входа.
SimulationTime
поле содержит время симуляции записи. Poses
N-by-1 массив структур, где N является количеством платформ. Каждый Poses
структура содержит эти поля:
Поле | Описание |
---|---|
PlatformID | Уникальный идентификатор для платформы в виде положительного целого числа. Это - обязательное поле без значения по умолчанию. |
ClassID | Пользовательское целое число раньше классифицировало тип цели в виде неотрицательного целого числа. Нуль резервируется для несекретных типов платформы и является значением по умолчанию. |
Position | Положение цели в сценарии координирует в виде с действительным знаком 1 3 вектор-строку. Это - обязательное поле без значения по умолчанию. модули являются метрами. |
Velocity | Скорость платформы в сценарии координирует в виде с действительным знаком 1 3 вектор-строку. модули являются метрами в секунду. Значением по умолчанию является |
Acceleration | Ускорение платформы в координатах сценария в виде 1 3 вектора-строки в метрах в секунду придало квадратную форму. Значением по умолчанию является |
Orientation | Ориентация платформы относительно локальной навигации сценария структурирует в виде скалярного кватерниона или 3х3 матрицы вращения. Ориентация задает вращение системы координат от локальной системы координат навигации до текущей системы координат тела платформы. Модули являются безразмерными. Значением по умолчанию является |
AngularVelocity | Скорость вращения платформы в сценарии координирует в виде с действительным знаком 1 3 вектор. Величина вектора задает угловую скорость. Направление задает ось по часовой стрелке вращения. модули являются степенями в секунду. Значением по умолчанию является |
Дополнительные поля в rec
выход:
Поле | Описание |
---|---|
Emissions | массив ячеек эмиссии (такой как |
EmitterConfigurations | массив структур эмиттерных настроек для каждого эмиттера |
EmitterPlatformIDs | числовой массив идентификаторов платформы для каждого эмиттера |
Detections | массив ячеек |
SensorConfigurations | массив структур настроек датчика для каждого датчика |
SensorPlatformIDs | числовой массив идентификаторов платформы для каждого датчика |
CoverageConfig | массив структур настроек покрытия для каждого датчика или эмиттера |
Каждая эмиттерная конфигурационная структура содержит следующие поля:
Поле | Описание |
EmitterIndex | Уникальный эмиттерный индекс, возвращенный как положительное целое число. |
IsValidTime | Допустимое время эмиссии, возвращенное как |
IsScanDone | Завершил ли эмиттер сканирование, возвращенное как |
FieldOfView | Поле зрения эмиттера, возвращенного как двухэлементный вектор [азимут; вертикальное изменение] в градусах. |
MeasurementParameters | Эмиттерные параметры измерения, возвращенные как массив структур, содержащих координатную систему координат, преобразовывают, должен был преобразовать положения и скорости в системе координат верхнего уровня к текущей эмиттерной системе координат. |
Каждая конфигурационная структура датчика содержит следующие поля:
Поле | Описание |
SensorIndex | Уникальный индекс датчика, возвращенный как положительное целое число. |
IsValidTime | Допустимое время обнаружения, возвращенное как |
IsScanDone |
|
FieldOfView | Поле зрения датчика, возвращенного как 2 1 вектор положительных действительных значений, [azfov; elfov]. azfov и elfov представляют поле зрения в азимуте и вертикальном изменении, соответственно. |
MeasurementParameters | Параметры измерения датчика, возвращенные как массив структур, содержащих координатную систему координат, преобразовывают, должен был преобразовать положения и скорости в системе координат верхнего уровня к системе координат датчика тока. |
Каждая конфигурационная структура покрытия содержит эти поля:
Поля настроек
Поле | Описание |
---|---|
Index | Уникальное целое число, чтобы отличить датчики или эмиттеры. На практике можно использовать SensorIndex или EmitterIndex из датчика или эмиттерных объектов, соответственно. |
LookAngle |
Текущие пеленги датчика или эмиттера в виде:
|
FieldOfView | Поле зрения датчика или эмиттера в виде двухэлементного вектора [azimuth ; elevation ] в градусах. |
ScanLimits |
Минимальные и максимальные углы датчик или эмиттер могут отсканировать от его
|
Range | Область значений луча и зона охвата датчика или эмиттера в метрах. |
Position | Положение источника датчика или эмиттера в виде трехэлементного вектора [X Y Z ] на театральных осях графика. |
Orientation | Преобразование вращения из сценария или глобальной переменной структурирует к датчику или системе координат монтирования эмиттера в виде матрицы вращения, кватерниона или трех Углов Эйлера в последовательности ZYX. |
Создайте новый сценарий и добавьте платформу.
scene = trackingScenario; plat = platform(scene);
Задайте траекторию платформы. Расстояние траектории составляет 25 метров. Скорость траектории составляет 20 м/с в направлении X.
plat.Trajectory = waypointTrajectory('Waypoints',[0 0 0; 25 0 0], ... 'TimeOfArrival', [0 25/20]);
Запустите симуляцию и запишите результаты.
r = record(scene)
r=13×1 struct array with fields:
SimulationTime
Poses
Покажите запись в начальное время.
r(1)
ans = struct with fields:
SimulationTime: 0
Poses: [1×1 struct]
r(1).Poses
ans = struct with fields:
PlatformID: 1
ClassID: 0
Position: [0 0 0]
Velocity: [20 0 0]
Acceleration: [0 0 0]
Orientation: [1×1 quaternion]
AngularVelocity: [0 0 0]
Покажите запись в итоговое время.
r(end)
ans = struct with fields:
SimulationTime: 1.2000
Poses: [1×1 struct]
r(end).Poses
ans = struct with fields:
PlatformID: 1
ClassID: 0
Position: [24 0 0]
Velocity: [20 0 0]
Acceleration: [0 0 0]
Orientation: [1×1 quaternion]
AngularVelocity: [0 0 0]
Загрузите сценарий отслеживания управления воздушным движением.
load ATCScenario scenario
Запустите симуляцию и запишите результаты.
r = record(scenario, 'quaternion', 'IncludeEmitters', true,... 'IncludeSensors', true, 'InitialSeed', 2019)
r=3215×1 struct array with fields:
SimulationTime
Poses
Emissions
EmitterConfigurations
EmitterPlatformIDs
Detections
SensorConfigurations
SensorPlatformIDs
CoverageConfig
Покажите запись в начальное время.
r(1)
ans = struct with fields:
SimulationTime: 0
Poses: [4×1 struct]
Emissions: {0×1 cell}
EmitterConfigurations: [0×1 struct]
EmitterPlatformIDs: [0×1 double]
Detections: {}
SensorConfigurations: [1×1 struct]
SensorPlatformIDs: 1
CoverageConfig: [1×1 struct]
Покажите запись в итоговое время.
r(end)
ans = struct with fields:
SimulationTime: 59.9947
Poses: [4×1 struct]
Emissions: {0×1 cell}
EmitterConfigurations: [0×1 struct]
EmitterPlatformIDs: [0×1 double]
Detections: {}
SensorConfigurations: [1×1 struct]
SensorPlatformIDs: 1
CoverageConfig: [1×1 struct]
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.