Регистрируйте максимумы
y = maxlog(a)
y = maxlog(q)
y = maxlog(a) возвращает самое большое реальное значение fi объект a поскольку логгирование было включено или с прошлого раза, когда журнал был сброшен для объекта.
Включите логгирование путем установки fipref объект LoggingMode свойство к 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