Создайте плоттер покрытия
Создайте театральный график и установите пределы для его осей. Создайте плоттер покрытия с DisplayName
установите на 'Sensor Coverage'
.
tp = theaterPlot('XLim',[-40 40],'YLim',[-40 40],'ZLim',[-40 40]); covp = coveragePlotter(tp,'DisplayName','Sensor Coverage');
Настройте настройку датчиков, покрытие которых должно быть построено.
sensor = struct('Index',1,'ScanLimits',[-45 45],'FieldOfView',[10;40],... 'LookAngle',-10,'Range',30,'Position',zeros(1,3),'Orientation',zeros(1,3));
Постройте покрытие с помощью plotCoverage
функционируйте и и визуализируйте результаты. Темно-синий представляет луч датчика тока и голубой repreents зона охвата.
plotCoverage(covp,sensor) view(70,30)
Создайте театральный график и создайте плоттер покрытия.
tp = theaterPlot('XLim',[-1e7 1e7],'YLim',[-1e7 1e7],'ZLim',[-2e6 1e6]); covp = coveragePlotter(tp,'DisplayName','Sensor Coverage'); view(25,20)
Смоделируйте радар несканирования и растровый радар сканирования.
radarIndex = 1; radar = monostaticRadarSensor(radarIndex,'No Scanning'); RasterIndex = 2; raster = monostaticRadarSensor(RasterIndex,'Raster');
Создайте целевую платформу.
tgt = struct( ... 'PlatformID', 1, ... 'Position', [0 -50e3 -1e3], ... 'Speed', -1e3);
Симулируйте датчики и визуализируйте их шаблон сканирования.
time = 0; timestep = 1; stopTime = 90; while time < stopTime time = time+timestep; radar(tgt,time); raster(tgt,time); % Obtain sensor configuration using coverageConfig. radarcov = coverageConfig(radar); ircov = coverageConfig(raster); % Update plotter plotCoverage(covp,[radarcov,ircov],... [radarIndex, RasterIndex],... {'blue','red'}... ); pause(0.03) end
tp
— Театральный графикtheaterPlot
объектТеатральный график в виде theaterPlot
объект.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'DisplayName', 'Radar1'
'DisplayName'
— Постройте имя, чтобы отобразиться в легендеПостройте имя, чтобы отобразиться в легенде в виде разделенной запятой пары, состоящей из 'DisplayName'
и вектор символов или строковый скаляр. Если никакое имя не задано, никакую запись не показывают.
Пример: 'DisplayName','Radar Detections'
'Color'
— Зона охвата и датчик излучают цвет'auto'
(значение по умолчанию) | вектор символов | строковый скаляр | триплет RGB | шестнадцатеричный цветовой кодЗона охвата и датчик излучают цвет в виде вектора символов, строкового скаляра, триплета RGB, шестнадцатеричного цветового кода или 'auto'
. Когда цвет задан, плоттер чертит все зоны охвата и излучает с заданным цветом. Если цвет выбран к 'auto'
, плоттер использует последовательность цветов оси, чтобы присвоить цвета датчикам на основе их индексов датчика.
'Alpha'
— Столкнитесь с альфа-значениями луча датчика и зоны охвата
(значение по умолчанию) | вектор с 2 элементами неотрицательных скаляровСтолкнитесь с альфа-значениями зоны охвата и луча датчика в виде вектора с 2 элементами неотрицательных скаляров. Первым элементом является значение, применился к лучу, и вторым элементом является значение, применился к зоне охвата.
'Tag'
— Тег сопоставлен с плоттером'PlotterN'
(значение по умолчанию) | вектор символов | строкаТег, сопоставленный с плоттером в виде вектора символов или строки. Можно использовать findPlotter
функция, чтобы идентифицировать плоттеры на основе их тега. Значением по умолчанию является 'PlotterN'
, где N является целым числом, которое соответствует N th плоттер, сопоставленный с theaterPlot
.
cPlotter
— Плоттер покрытияCoveragePlotter
объектПлоттер покрытия, возвращенный как CoveragePlotter
объект. Можно изменить этот объект путем изменения его значений свойств. Имена свойства соответствуют аргументам пары "имя-значение" coveragePlotter
функция.
Чтобы построить покрытие, используйте plotCoverage
функция.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.