exponenta event banner

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 обновлениях (Нм) меньше 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++ с помощью MATLAB ® Coder™

.
Представлен в R2018b