Регистрируйте максимумы
y = maxlog(a)
y = maxlog(q)
y = maxlog(a) возвращает самое большое реальное значение объекта fi a, поскольку журналирование было включено или с прошлого раза, когда журнал был сброшен для объекта.
Включите журналирование путем установки свойства LoggingMode объекта fipref на on. Сбросьте журналирование для объекта fi с помощью функции resetlog.
y = maxlog(q) максимальное значение после квантования во время вызова quantize(q,...) для объекта quantizer q. Это значение является максимальным значением, с которым сталкиваются по последовательным вызовам quantize, поскольку журналирование было включено и сбрасывается с resetlog(q). maxlog(q) эквивалентен get(q,'maxlog') и q.maxlog.
P = fipref('LoggingMode','on'); format long g a = fi([-1.5 eps 0.5], true, 16, 15); a(1) = 3.0; maxlog(a) Warning: 1 overflow occurred in the fi assignment operation. > In embedded.fi.fi at 510 In fi at 220 Warning: 1 underflow occurred in the fi assignment operation. > In embedded.fi.fi at 510 In fi at 220 Warning: 1 overflow occurred in the fi assignment operation. ans = 0.999969482421875
Самое большое значение, которое может возвратить maxlog, является максимальным представимым значением своего входа. В этом примере a является объектом fi со знаком с размером слова 16, дробная длина 15 и область значений:
- 1 ≤ x ≤ 1 – 2-15
fi a с помощью функции range:format long g r = range(a) r = -1 0.999969482421875
q = quantizer; warning on format long g x = [-20:10]; y = quantize(q,x); maxlog(q) Warning: 29 overflows. > In embedded.quantizer.quantize at 74 ans = .999969482421875
Самое большое значение, которое может возвратить maxlog, является максимальным представимым значением своего входа. Можно получить область значений x после квантования с помощью функции range:
format long g r = range(q) r = -1 0.999969482421875
fipref | minlog | noverflows | nunderflows | reset | resetlog