ヘッダー

VB.NET2002対応 VB.NET2003対応 VB2005対応

 

表紙 > VB.NET サンプル >

Sinを計算して求める

以下の関数CalcSinを使用すると、Sin(正弦)の値を求めることができる。

ただし、この関数は研究用であって、実用にはMath.Sinを使う。

VB.NET2002対応 VB.NET2003対応 VB2005対応

'■CalcSin
'''
<summary>正弦(Sin)を計算して求めます。</summary>
''' <param name="X">角度をラジアンで指定します。</param>
''' <returns>Sin Xの近似値を返します。</returns>
''' <remarks>研究用の関数です。実用にはMath.Sinを使ってください。</remarks>
Public Shared Function CalcSin(ByVal X As Double) As Double

    'Sin X = Σ式A
    'Σはn=0 ~∞の範囲
    '式A = (-1)のn乗÷(2n + 1)の階乗×Xの(2×n + 1)乗
    '詳しくはテイラー展開を調べよ。

    Dim n As Long
   
Dim Bottom As Long '分母
   
Dim Top As Long '分子
   
Dim Keisu As Double '係数
   
Dim i As Long
   
Dim Result As Double '正弦の値(近似値)

    Try

        For n = 0 To Long.MaxValue

            '分子の計算
           
Top = Math.Pow(-1, n)

            '分母の計算
           
Bottom = 1

            For i = (2 * n) + 1 To 2 Step -1
                Bottom *= i
           
Next

            '係数の計算
           
Keisu = Math.Pow(X, 2 * n + 1)

            '数列の和を計算
           
Result += (Top / Bottom) * Keisu

        Next

    Catch ex As OverflowException

    End Try

    Return Result

End Function