Постоянная прямоугольная целевая модель измерения скорости поворота
возвращает ожидаемые измерения из текущих прямоугольных состояний и обнаружений.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-байтовая 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 объектыОбнаружения цели, заданные как массив ячеек M 1 байт objectDetection объекты. The MeasurementParameters свойство (которое задает преобразование из пространства состояний в пространство измерений) для каждого объекта должно быть одинаковым для всех обнаружений в массиве ячеек.
measurements - Ожидаемые измеренияОжидаемые измерения, возвращенные как P -by- N -by- M вещественный массив. P - размерность каждого измерения, заданная в detections вход, N - количество состояний, заданное в states вход, и M - количество обнаружений, заданное в detections вход.
ctrect | ctrectcorners | ctrectjac | ctrectmeasjac | gmphd | initctrectgmphd | trackerPHD
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.