checkDeletion

Проверьте, следует ли удалять трек

Описание

пример

tf = checkDeletion(historyLogic) возвращает флаг, который true когда, по крайней мере Md из Nd последних обновлений объекта логики истории дорожек historyLogic являются false.

пример

tf = checkDeletion(historyLogic,tentativeTrack,age) возвращает флаг, который true когда дорожка является ориентировочной, и недостаточно обнаружений, чтобы позволить ей подтвердить. Используйте логический флаг tentativeTrack указать, является ли дорожка ориентировочной и обеспечить age как числовой скаляр.

пример

tf = checkDeletion(scoreLogic) возвращает флаг, который true когда дорожка должна быть удалена на основе счета дорожки.

Примеры

свернуть все

Создайте логику на основе истории. Задайте пороговые значения подтверждения Mc и Nc в качестве вектора [2 3]. Задайте пороговые значения удаления Md и Nd как вектор [4 5].

historyLogic = trackHistoryLogic('ConfirmationThreshold',[2 3], ...
    'DeletionThreshold',[4 5])
historyLogic = 
  trackHistoryLogic with properties:

    ConfirmationThreshold: [2 3]
        DeletionThreshold: [4 5]
                  History: [0 0 0 0 0]

Инициализируйте логику, которая записывает хит как первое обновление логики. Флаг подтверждения false потому что количество попаданий меньше двух (Mc).

init(historyLogic)
history = output(historyLogic);
checkConfirmation(historyLogic)
ans = logical
   0

delFlag = checkDeletion(historyLogic);
disp(['History: [',num2str(history),']. Deletion Flag: ',num2str(delFlag)]);
History: [1  0  0  0  0]. Deletion Flag: 1

Обновите логику хитом. Флаг подтверждения true потому что два хита (Mc) учитываются в последних трех обновлениях (Nc).

hit(historyLogic)
history = output(historyLogic);
checkConfirmation(historyLogic)
ans = logical
   1

delFlag = checkDeletion(historyLogic);
disp(['History: [',num2str(history),']. Deletion Flag: ',num2str(delFlag)]);
History: [1  1  0  0  0]. Deletion Flag: 0
miss(historyLogic)
history = output(historyLogic);
checkConfirmation(historyLogic)
ans = logical
   1

delFlag = checkDeletion(historyLogic);
disp(['History: [',num2str(history),']. Deletion Flag: ',num2str(delFlag)]);
History: [0  1  1  0  0]. Deletion Flag: 0
miss(historyLogic)
history = output(historyLogic);
delFlag = checkDeletion(historyLogic);
checkConfirmation(historyLogic)
ans = logical
   0

disp(['History: [',num2str(history),']. Deletion Flag: ',num2str(delFlag)]);
History: [0  0  1  1  0]. Deletion Flag: 0

Создайте логику на основе истории. Задайте пороговые значения подтверждения Mc и Nc в качестве вектора [2 3]. Задайте пороговые значения удаления Md и Nd как вектор [4 5].

historyLogic = trackHistoryLogic('ConfirmationThreshold',[2 3], ...
    'DeletionThreshold',5)
historyLogic = 
  trackHistoryLogic with properties:

    ConfirmationThreshold: [2 3]
        DeletionThreshold: [5 5]
                  History: [0 0 0 0 0]

Инициализируйте логику, которая записывает хит как первое обновление логики. Затем запишите два промаха.

init(historyLogic)
miss(historyLogic)
miss(historyLogic)
history = output(historyLogic)
history = 1x5 logical array

   0   0   1   0   0

Флаг подтверждения false поскольку количество попаданий в последних 3 обновлениях (Nc) меньше 2 (Mc).

confirmationFlag = checkConfirmation(historyLogic)
confirmationFlag = logical
   0

Отметьте флаг удаления так, как если бы дорожка не была ориентировочной. Флаг удаления false поскольку количество пропусков в последних 5 обновлениях (Nm) меньше 4 (Mc).

deletionFlag = checkDeletion(historyLogic)
deletionFlag = logical
   0

Перепроверите флаг удаления, обработав дорожку как предварительную с возрастом 3. Предварительный флаг удаления true поскольку недостаточно обнаружений, чтобы позволить дорожке подтвердить.

tentativeDeletionFlag = checkDeletion(historyLogic,true,3)
tentativeDeletionFlag = logical
   1

Создайте логику на основе оценки, задав порог удаления. Логика использует порог подтверждения по умолчанию.

scoreLogic = trackScoreLogic('DeletionThreshold',-1);

Задайте вероятность обнаружения (pd), вероятность ложного предупреждения (pfa), объем интервала обнаружения датчика (volume), и новая целевая скорость в модуль объеме (beta).

pd = 0.8;
pfa = 1e-3;
volume = 1.3;
beta = 0.1;

Инициализируйте логику, используя эти параметры. Первое обновление логики - хит.

init(scoreLogic,volume,beta,pd,pfa);
disp(['Score and MaxScore: ', num2str(output(scoreLogic))]);
Score and MaxScore: 4.6444      4.6444

Обновите логику с промахом. Текущий счет уменьшается.

miss(scoreLogic,pd,pfa)
disp(['Score and MaxScore: ', num2str(output(scoreLogic))])
Score and MaxScore: 3.036      4.6444

Флаг удаления true поскольку текущий счет меньше максимального счета более чем на 1. Другими словами, scoreLogic.Score - scoreLogic.MaxScore больше отрицательного, чем порог удаления, -1.

deletionFlag = checkDeletion(scoreLogic)
deletionFlag = logical
   1

Входные параметры

свернуть все

Отслеживайте логику истории, заданную как trackHistoryLogic объект.

Дорожка ориентировочная, задается как false или true. Использование tentativeTrack чтобы указать, является ли дорожка ориентировочной.

Количество обновлений с момента инициализации дорожки, заданное как числовой скаляр.

Проследите логику счета, заданную как trackScoreLogic объект.

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

свернуть все

Трек можно удалить, вернуть следующим true или false.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.
Введенный в R2018b