Main Content

maxlog

構文

y = maxlog(a)
y = maxlog(q)

説明

y = maxlog(a) は、ログ作成を有効にした後または fi オブジェクト a のログを最後にリセットした後における、そのオブジェクトの最大実際値を返します。

fipref オブジェクトの LoggingMode プロパティを on に設定して、ログ作成を有効にします。fi オブジェクトのログ作成をリセットするには、関数 resetlog を使用します。

y = maxlog(q) は、quantizer オブジェクト q に対して quantize(q,...) を呼び出しているときに量子化を実行した後の最大値です。この値は、ログ作成を有効にした後に実行された quantize の連続呼び出し中に見つかった最大値であり、resetlog(q) でリセットされます。maxlog(q)get(q,'maxlog') および q.maxlog と等価です。

すべて折りたたむ

  1. 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(s) occurred in the fi assignment operation. 
    > In embedded.fi/fifactory
    In fi (line 226) 
    Warning: 1 underflow(s) occurred in the fi assignment operation. 
    > In embedded.fi/fifactory
    In fi (line 226) 
    Warning: 1 overflow(s) occurred in the fi assignment operation. 
    
    ans =
    
             0.999969482421875

    最大値 maxlog は、その入力の表現可能な最大値を返すことができます。この例では、a は語長 16、小数部の長さ 15 の符号付き fi オブジェクトで、範囲は次のとおりです。

    -1 ≤ x ≤ 1 – 2-15(1)

  2. 関数 range を使用して、任意の fi オブジェクト a の数値範囲を取得することができます。

    format long g
    r = range(a)
    r = 
    
                            -1         0.999969482421875
    
              DataTypeMode: Fixed-point: binary point scaling
                Signedness: Signed
                WordLength: 16
            FractionLength: 15
  1. q = quantizer;
    warning on
    format long g
    x = [-20:10];
    y = quantize(q,x);
    maxlog(q)
    Warning: 29 overflow(s) occurred in the fi quantize operation. 
    > In embedded.quantizer/quantize (line 81) 
    
    ans =
    
             0.999969482421875

    最大値 maxlog は、その入力の表現可能な最大値を返すことができます。

  2. 関数 range を使用して、量子化後の x の範囲を取得することができます。

    format long g
    r = range(q)
    r =
    
                            -1         0.999969482421875

バージョン履歴

R2006a より前に導入