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 потому что количество хитов меньше два (МГц).

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 потому что два хита (МГц) считаются в новых трех обновлениях (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 (МГц).

confirmationFlag = checkConfirmation(historyLogic)
confirmationFlag = logical
   0

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

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