MemoizedFunction

Classe dos objetos retornados por memoize.

Categoria: Software Development Tools > Performance and Memory

Sintaxe

m = memoize(fun)

Cria um objeto da classe matlab.lang.MemoizedFunction em torno de fun.

m.Enabled = tf

Liga (true) ou desliga (false) o cache de m.

m.CacheSize = n

Define quantos resultados o cache mantém.

Descrição

Um objeto MemoizedFunction se comporta como o function handle que envolve: é chamado com os mesmos argumentos e devolve as mesmas saídas. Além disso, possui um cache. As propriedades Enabled, CacheSize e Function descrevem a configuração, stats informa acertos e falhas e clearCache esvazia o cache.

O objeto é um handle, então cópias da variável apontam para o mesmo cache.

Argumentos de entrada

Enabled
Propriedade lógica. Com false, a função sempre é executada e nada é guardado.
CacheSize
Número de conjuntos de entradas distintos cujos resultados são mantidos. Entradas antigas são descartadas ao exceder.

Argumentos de saída

Function
Handle somente leitura da função envolvida.

Exemplo

Propriedades de uma função memoizada

m = memoize(@(x) x^2);
class(m)
m.Enabled
m.CacheSize = 5;
m.CacheSize
m.Function
Saída
ans = 'matlab.lang.MemoizedFunction'
ans = logical
   1
ans = 5
ans = function_handle with value:

    @(x)x^2

Veja também

memoize stats clearCache clearAllMemoizedCaches