Main Content

sfi

符号付き固定小数点数値オブジェクトの作成

説明

a = sfi は既定のコンストラクターで、値をもたない、語長が 16 ビット、小数部の長さが 15 ビットの符号付き fi オブジェクトを返します。

コンストラクター関数 sfi で作成された fi オブジェクトには、データ プロパティ、fimath プロパティ、および numerictype プロパティが含まれます。これらのプロパティの詳細については、fi オブジェクト プロパティfimath オブジェクト プロパティ、およびnumerictype オブジェクト プロパティを参照してください。

コンストラクター関数 sfi で作成された fi オブジェクトには、ローカル fimath オブジェクトがありません。既定の fimath 設定を使用しない場合は、この fi オブジェクトに fimath オブジェクトを付加できます。詳細については、fimath オブジェクトの作成を参照してください。

a = sfi(v) は、値が v、語長が 16 ビット、小数部の長さが最高精度の符号付き固定小数点オブジェクトを返します。最高精度が得られるのは、所定の語長で値 v が保持されるように小数部の長さが自動的に設定されている場合です。

a = sfi(v,w) は、値が v、語長が w、小数部の長さが最高精度の符号付き固定小数点オブジェクトを返します。

a = sfi(v,w,f) は、値が v、語長が w、小数部の長さが f の符号付き固定小数点オブジェクトを返します。

a = sfi(v,w,slope,bias) は、値が v、語長が wslope、および bias の符号付き固定小数点オブジェクトを返します。

a = sfi(v,w,slopeadjustmentfactor,fixedexponent,bias) は、値が v、語長が wslopeadjustmentfactorfixedexponent、および bias の符号付き固定小数点オブジェクトを返します。

すべて折りたたむ

既定のコンストラクターは、値をもたない、語長が 16 ビット、小数部の長さが 15 ビットの符号付き fi オブジェクトを返します。

a = sfi
a = 

[]

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 15

既定の語長が 16 ビットで小数部の長さが最高精度の符号付き fi オブジェクトを作成します。

a = sfi(pi)
a =
 
    3.1416

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 13

引数 f を省略すると、小数部の長さが可能な最高精度に自動的に設定されます。

a = sfi(pi,8)
a =
 
    3.1563

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 8
        FractionLength: 5

pi、語長 8 ビット、小数部の長さ 3 ビットの符号付き fi オブジェクトを作成します。

a = sfi(pi,8,3)
a =
 
    3.1250

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 8
        FractionLength: 3

既定の fimath プロパティが a に関連付けられています。fi オブジェクトにローカル fimath オブジェクトが存在しない場合、出力には fimath オブジェクトのプロパティが表示されません。fi オブジェクトに fimath オブジェクトがあるかどうかを判断するには、関数 isfimathlocal を使用します。

isfimathlocal(a)
ans =
     0

返された値が 0 の場合、fi オブジェクトにはローカル fimath オブジェクトが存在しないことを意味します。関数 isfimathlocal1 を返す場合、fi オブジェクトはローカル fimath オブジェクトをもちます。

v は配列も可能です。

a = sfi((magic(3)/10),16,12)
a = 

    0.8000    0.1001    0.6001
    0.3000    0.5000    0.7000
    0.3999    0.8999    0.2000

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 12

入力引数

すべて折りたたむ

符号付き fi オブジェクトの値。スカラー、ベクトル、行列または多次元配列として指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi

符号付き fi オブジェクトの語長 (ビット単位)。スカラー整数として指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

符号付き fi オブジェクトの小数部の長さ (ビット単位)。スカラー整数として指定します。小数部の長さを指定しない場合、符号付き fi オブジェクトは、指定した値および語長のオーバーフローを回避しながら最高精度を提供する小数部の長さを自動的に使用します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

スケーリングの勾配。スカラー整数として指定します。次の方程式は、勾配バイアスのスケーリングされた数値の実際値を表します。

real-world value=(slope×integer)+bias

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

スケーリングのバイアス。スカラーとして指定します。次の方程式は、勾配バイアスのスケーリングされた数値の実際値を表します。

real-world value=(slope×integer)+bias

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

勾配バイアスのスケーリングされた数値の勾配調整係数。次の方程式は、勾配、固定小数点の指数、勾配調整係数の間の関係を示します。

slope=slope adjustment factor×2fixed exponent

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

勾配バイアスのスケーリングされた数値の固定小数点の指数。次の方程式は、勾配、固定小数点の指数、勾配調整係数の間の関係を示します。

slope=slope adjustment factor×2fixed exponent

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

拡張機能

HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための Verilog および VHDL のコードを生成します。

バージョン履歴

R2009b で導入