Возвратите кэшируемые значения и статистику для объекта MemoizedFunction
s = stats(mfcn)
возвращает кэшируемые значения и статистику по использованию объекта s = stats(mfcn)
MemoizedFunction
.
Создайте объект MemoizedFunction
memozing функция plus
.
mf = memoize(@plus)
mf = MemoizedFunction with properties: Function: @plus Enabled: 1 CacheSize: 10
Вызывайте мемоизованную функцию несколько раз. В первый раз, когда вы вызываете функцию с определенным набором входных параметров, MATLAB кэширует результаты.
a = mf(13,42); % calls plus; caches results b = mf(7,33); % calls plus; caches results c = mf(13,42); % does not call plus; returns cached results d = mf(5,120); % calls plus; caches results e = mf(13,42); % does not call plus; returns cached results f = mf(7,33); % does not call plus; returns cached results
Вызовите функцию stats
.
s = stats(mf)
s = struct with fields:
Cache: [1x1 struct]
MostHitCachedInput: [1x1 struct]
CacheHitRatePercent: 50
CacheOccupancyPercent: 30
Определите, какие наборы входных параметров вы использовали большинство.
s.MostHitCachedInput
ans = struct with fields:
Hits: 2
Input: {[13] [42]}
Получите кэшируемые результаты.
c = s.Cache
c = struct with fields:
Inputs: {{1x2 cell} {1x2 cell} {1x2 cell}}
Nargout: [1 1 1]
Outputs: {{1x1 cell} {1x1 cell} {1x1 cell}}
HitCount: [2 1 0]
TotalHits: 3
TotalMisses: 3
Отобразите все наборы кэшируемых вводов и выводов рядом, сколько раз MATLAB получил доступ к кэшируемым значениям.
T = cell2table([c.Inputs' c.Outputs'],'VariableNames',{'Inputs','Outputs'}); T.Times_Cache_Accessed = c.HitCount'
T=3×3 table
Inputs Outputs Times_Cache_Accessed
_____________ _______ ____________________
[13] [ 42] [ 55] 2
[ 7] [ 33] [ 40] 1
[ 5] [120] [125] 0
mfcn
Функция с memoization семантикойMemoizedFunction
Функция с memoization семантикой, заданной как объект MemoizedFunction
.
s
статистика MemoizedFunction
Статистика MemoizedFunction
, возвращенная как структура, содержащая эти поля.
Поле | Описание |
---|---|
| Кэшируемые результаты, возвращенные как структура. Если
|
| Вводы для кэшируемых значений, к которым наиболее получают доступ, возвращенных как структура. Структура содержит следующие поля:
|
| Процент времен входной параметр был найден в кэше, возвращенном как двойное. Это свойство вычисляется |
| То, насколько полный кэш, возвратилось как двойное представление процента. Это свойство вычисляется |
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.