Main Content

sin

固定小数点値の正弦

説明

y = sin(theta) は、ルックアップ テーブル アルゴリズムを使用して fi 入力 theta の正弦を返します。

すべて折りたたむ

theta = fi([-pi/2,-pi/3,-pi/4,0,pi/4,pi/3,pi/2]);
y = sin(theta)
y = 
   -1.0000   -0.8661   -0.7072         0    0.7070    0.8659    0.9999

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

入力引数

すべて折りたたむ

入力角度 (ラジアン単位)。実数値の fi オブジェクトとして指定します。theta は、符号付きまたは符号なしのスカラー、ベクトル、行列、または固定小数点の角度の値をラジアン単位で含む多次元配列です。theta の有効なデータ型は次のとおりです。

  • fi single

  • fi double

  • 2 進小数点スケーリングが指定されている fi 固定小数点

  • 2 進小数点スケーリングが指定されている、スケーリングされた fi double

データ型: fi

出力引数

すべて折りたたむ

入力角度の正弦。スカラー、ベクトル、行列または多次元配列として返されます。y は符号付きで範囲 [-1,1] にある固定小数点数です。

thetaDataTypeMode プロパティが Fixed-point: binary point scaling の場合、y は、2 進小数点スケーリングが指定されている、語長が 16 ビット、小数部の長さが 15 ビットの符号付き固定小数点データ型として返されます (numerictype(1,16,15))。thetafi single、fi double、または 2 進小数点スケーリングが指定されている、スケーリングされた fi double の場合、ytheta と同じデータ型で返されます。

詳細

すべて折りたたむ

Sine

角度 Θ の正弦は次のように定義されます。

sin(θ)=eiθeiθ2i

アルゴリズム

すべて折りたたむ

関数 sin は次のように 8 ビット ルックアップ テーブルを使用して固定小数点入力の正弦を計算します。

  1. 2π によるモジュロ演算を行い、入力が [0,2π) ラジアンの範囲になるようにします。

  2. 最上位 16 ビットを使用して、入力を 16 ビット格納整数値にキャストします。

  3. uint16 の全範囲に正規化された 16 ビットの格納整数値に基づいて、テーブル インデックスを計算します。

  4. 最上位 8 ビットを使用して、テーブルの最初の値を取得します。

  5. その次に大きいテーブルの値を 2 番目の値として使用します。

  6. 最下位 8 ビットを使用して、最近傍線形内挿によって最初と 2 番目の値の間を内挿します。

fimath の伝播ルール

関数 sin は、入力 theta に追加されたすべての fimath を無視して破棄します。出力 y は常に既定の fimath に関連付けられています。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2012a で導入