MATLAB ヘルプ センター
sin(X*pi) を正確に計算
Y = sinpi(X)
Y = sinpi(X) は、X*pi を明示的に計算せずに sin(X*pi) を計算します。この計算は sin(X*pi) よりも正確です。というのも浮動小数点値である pi は π の近似であるためです。以下に例を示します。
X
X*pi
sin(X*pi)
pi
整数の場合、sinpi(n) は厳密にゼロになります。
sinpi(n)
奇数の整数の場合、sinpi(n/2) は +1 または -1 になります。
sinpi(n/2)
例
すべて折りたたむ
sinpi(X) と sin(X*pi) の精度を比較します。
sinpi(X)
値のベクトルを作成します。
X = [0 1/2 1 3/2 2];
通常の関数 sin を使用して X*pi の正弦を計算します。
sin
Y = sin(X*pi)
Y = 1×5 0 1.0000 0.0000 -1.0000 -0.0000
この結果に含まれる小さい数値誤差は、pi が π の真の値の浮動小数点数近似であるという事実によるものです。たとえば、sin(π)=0 は成り立ちますが、Y(3) は "厳密な" ゼロになりません。
Y(3)
ans = 1.2246e-16
sinpi を使用して同じ値を計算します。この場合、結果は正確です。
sinpi
Z = sinpi(X)
Z = 1×5 0 1 0 -1 0
Z(3)
ans = 0
入力配列。スカラー、ベクトル、行列、多次元配列、table または timetable として指定します。
データ型: single | double | table | timetable 複素数のサポート: あり
single
double
table
timetable
すべて展開する
sinpi 関数は tall 配列を完全にサポートしています。詳細については、tall 配列を参照してください。
backgroundPool
ThreadPool
sinpi 関数は、GPU 配列を完全にサポートします。GPU 上で関数を実行するには、入力データを gpuArray (Parallel Computing Toolbox) として指定します。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
gpuArray
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
関数 sinpi は、table または timetable 内のすべての変数に対して、それらの変数にアクセスするためのインデックス付けを行うことなく計算できます。すべての変数のデータ型で計算がサポートされている必要があります。詳細については、table および timetable での直接計算を参照してください。
sin | sind | cospi
sind
cospi
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ