Модель измерения прямоугольной цели с постоянной скоростью поворота
возвращает ожидаемые измерения из текущих прямоугольных состояний и обнаружений.measurements = ctrectmeas(states,detections)
Загрузка обнаружений и истинности, созданных из прямоугольной цели.
load('rectangularTargetDetections.mat','detections','truthState');
Создание ожидаемых обнаружений из прямоугольного состояния целевого объекта и фактических обнаружений с помощью ctrectmeas.
tgtState = [3;48;0;60;0;5;1.9]; zExp = ctrectmeas(tgtState,detections);
Настройка среды визуализации с помощью theaterPlot.
theaterP = theaterPlot; stateP = trackPlotter(theaterP,'DisplayName','State','MarkerFaceColor','g'); truthP = trackPlotter(theaterP,'DisplayName','Truth','MarkerFaceColor', 'b'); detP = detectionPlotter(theaterP,'DisplayName','Detections','MarkerFaceColor','r'); expDetP = detectionPlotter(theaterP,'DisplayName','Expected Detections','MarkerFaceColor','y'); l = legend(theaterP.Parent); l.AutoUpdate = 'on'; hold on; assignP = plot(theaterP.Parent,NaN,NaN,'-.','DisplayName','Association');
Постройте график фактических и ожидаемых обнаружений.
inDets = [detections{:}];
inMeas = horzcat(inDets.Measurement);
detP.plotDetection(inMeas');
zExpPlot = reshape(zExp,3,[]);
expDetP.plotDetection(zExpPlot');Печать линий связи.
zLines = nan(2,numel(detections)*3); zLines(1,1:3:end) = zExpPlot(1,:); zLines(2,1:3:end) = zExpPlot(2,:); zLines(1,2:3:end) = inMeas(1,:); zLines(2,2:3:end) = inMeas(2,:); assignP.XData = zLines(1,:); assignP.YData = zLines(2,:);
Постройте график правды и состояния.
truthPos = [truthState(1:2);0]; truthDims = struct('Length',truthState(6),... 'Width',truthState(7),... 'Height', 0,... 'OriginOffset', [0 0 0]); truthOrient = quaternion([truthState(4) 0 0],'eulerd', 'ZYX','frame'); truthP.plotTrack(truthPos',truthDims,truthOrient); statePos = [tgtState(1:2);0]; stateDims = struct('Length',tgtState(6),... 'Width',tgtState(7),... 'Height',0,... 'OriginOffset', [0 0 0]); stateOrient = quaternion([tgtState(4) 0 0],'eulerd', 'ZYX','frame'); stateP.plotTrack(statePos', stateDims, stateOrient);

states - Текущие прямоугольные состоянияТекущие прямоугольные состояния, заданные как 7-by-N вещественно-значная матрица, где N - число состояний. Семизмерное прямоугольное целевое состояние определяется как [x; y; s; θ; ω; L; W]:
| Переменная | Значение | Единица |
| x | Положение центра прямоугольника в направлении x | m |
| y | Положение центра прямоугольника в направлении y | m |
| s | Скорость в направлении курса | м/с |
| θ | Угол ориентации прямоугольника относительно направления x | степень |
| ω | Скорость поворота | степень/с |
| L | Длина прямоугольника | m |
| W | Ширина прямоугольника | m |

Пример: [1;2;2;30;1;4.7;1.8]
Типы данных: single | double
detections - Обнаружения целиobjectDetection объектыОбнаружения цели, указанной как массив 1-by-M ячеек objectDetection объекты. MeasurementParameters свойство (указывающее преобразование из state-space в measurement-space) для каждого объекта должно быть одинаковым для всех обнаружений в массиве ячеек.
measurements - Ожидаемые измеренияОжидаемые измерения, возвращаемые в виде массива вещественных значений P-by-N-by-M. P - размер каждого измерения, указанного в detections input, N - количество состояний, указанных в states и M - количество обнаружений, указанное в detections вход.
ctrect | ctrectcorners | ctrectjac | ctrectmeasjac | gmphd | initctrectgmphd | trackerPHD
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.