Main Content

cospi

cos(X*pi) を正確に計算

説明

Y = cospi(X) は、X*pi を明示的に計算せずに cos(X*pi) を計算します。この計算は cos(X*pi) よりも正確です。というのも浮動小数点値である pi は π の近似であるためです。以下に例を示します。

  • 奇数の整数の場合、cospi(n/2) は厳密にゼロです。

  • 整数の場合、cospi(n) は +1 または -1 です。

すべて折りたたむ

cospi(X)cos(X*pi) の精度を比較します。

値のベクトルを作成します。

X = [0 1/2 1 3/2 2];

標準の関数 cos を使用して X*pi の余弦を計算します。

Y = cos(X*pi)
Y = 1×5

    1.0000    0.0000   -1.0000   -0.0000    1.0000

この結果に含まれる小さい数値誤差は、piπ の真の値の浮動小数点数近似であるという事実によるものです。たとえば、cos(π2)=0 は成り立ちますが、Y(2) は "厳密な" ゼロになりません。

Y(2)
ans = 6.1232e-17

cospi を使用して同じ値を計算します。この場合、結果は正確です。

Z = cospi(X)
Z = 1×5

     1     0    -1     0     1

Z(2)
ans = 0

入力引数

すべて折りたたむ

入力配列。スカラー、ベクトル、行列、多次元配列、table または timetable として指定します。

データ型: single | double | table | timetable
複素数のサポート: あり

拡張機能

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

スレッドベースの環境
MATLAB® の backgroundPool を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool を使用してコードを高速化します。

バージョン履歴

R2018b で導入

すべて展開する

参考

| |