sin
固定小数点値の正弦
説明
例
固定小数点入力値の正弦の計算
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
入力引数
theta
— 入力角度 (ラジアン単位)
実数値の fi
オブジェクト
入力角度 (ラジアン単位)。実数値の fi
オブジェクトとして指定します。theta
は、符号付きまたは符号なしのスカラー、ベクトル、行列、または固定小数点の角度の値をラジアン単位で含む多次元配列です。theta
の有効なデータ型は次のとおりです。
fi
singlefi
double2 進小数点スケーリングが指定されている
fi
固定小数点2 進小数点スケーリングが指定されている、スケーリングされた
fi
double
データ型: fi
出力引数
y
— 入力角度の正弦
スカラー | ベクトル | 行列 | 多次元配列
入力角度の正弦。スカラー、ベクトル、行列または多次元配列として返されます。y
は符号付きで範囲 [-1,1] にある固定小数点数です。
theta
の DataTypeMode
プロパティが Fixed-point: binary point scaling
の場合、y
は、2 進小数点スケーリングが指定されている、語長が 16 ビット、小数部の長さが 15 ビットの符号付き固定小数点データ型として返されます (numerictype(1,16,15)
)。theta
が fi
single、fi
double、または 2 進小数点スケーリングが指定されている、スケーリングされた fi
double の場合、y
は theta
と同じデータ型で返されます。
詳細
Sine
角度 Θ の正弦は次のように定義されます。
アルゴリズム
関数 sin
は次のように 8 ビット ルックアップ テーブルを使用して固定小数点入力の正弦を計算します。
2π によるモジュロ演算を行い、入力が [0,2π) ラジアンの範囲になるようにします。
最上位 16 ビットを使用して、入力を 16 ビット格納整数値にキャストします。
uint16
の全範囲に正規化された 16 ビットの格納整数値に基づいて、テーブル インデックスを計算します。最上位 8 ビットを使用して、テーブルの最初の値を取得します。
その次に大きいテーブルの値を 2 番目の値として使用します。
最下位 8 ビットを使用して、最近傍線形内挿によって最初と 2 番目の値の間を内挿します。
fimath の伝播ルール
関数 sin
は、入力 theta
に追加されたすべての fimath
を無視して破棄します。出力 y
は常に既定の fimath
に関連付けられています。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2012a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)