clearCache

Очистить кэш для MemoizedFunction объект

Синтаксис

Описание

пример

clearCache(mfcn) очищает кэш для MemoizedFunction объект.

Запоминание функции связано с входной функцией, а не с MemoizedFunction объект. Поэтому очистка переменной не очищает кэш, связанный с функцией входа.

A MemoizedFunction объекту не известно об обновлениях базовой функции. Если вы изменяете функцию, связанную с запоминаемой функцией, используйте clearCache чтобы очистить кэш.

Примеры

свернуть все

Создайте объект функции memoized для sin функцию, и вызвать ее несколько раз.

mf = memoize(@sin);
a = mf(0);
b = mf(pi/2);
c = mf(0);

Просмотр статистики для объекта.

mf.stats.Cache
ans = struct with fields:
         Inputs: {{1x1 cell}  {1x1 cell}}
        Nargout: [1 1]
        Outputs: {{1x1 cell}  {1x1 cell}}
       HitCount: [1 0]
      TotalHits: 1
    TotalMisses: 2

Очистите кэш запоминаемых объектов функции и просмотрите статистику.

mf.clearCache
mf.stats.Cache
ans = struct with fields:
         Inputs: {}
        Nargout: []
        Outputs: {}
       HitCount: []
      TotalHits: 0
    TotalMisses: 0

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

свернуть все

Функция с семантикой запоминания, заданная как MemoizedFunction объект.

Совет

  • Две переменные, которые запоминают одну и ту же функцию, имеют общие значения кэша и свойств объекта, такие как размер кэша. В следующем примере переменные a и b совместно использовать кэш и иметь то же значение для размера кэша.

    a = memoize(@svd);
    b = memoize(@svd);
    Очистка кэша для b (b.clearCache) также очищает кэш для aи любые другие переменные, которые запоминают svd функция.

  • Очистка переменной не очищает кэш, связанный с функцией входа. Чтобы очистить кэш для MemoizedFunction объект, который больше не существует в рабочей области, создайте новую MemoizedFunction объект той же функции и использовать clearCache функция на новом объекте. Также можно очистить кэши для всех MemoizedFunction объекты, использующие clearAllMemoizedCaches функция.

См. также

Функции

Объекты

Введенный в R2017a