組込関数 Cos

数値・数学関数

VBA(Visual Basic for Applications)における組み込み関数 Cos は、余弦(コサイン)関数を計算するための関数です。三角関数のひとつであり、角度(ラジアン単位)を与えると、その余弦値(-1~1の範囲)を返すという特性があります。

この関数は、三角比の計算、物理シミュレーション、円運動、波形生成、グラフィックス処理、アニメーション制御など、幅広い場面で活用されます。


■ 1. Cos関数とは?

Cos 関数は、与えられた角度(ラジアン)に対応する余弦値を返します。数学における余弦とは、直角三角形における隣辺 ÷ 斜辺の比率に対応します。

また、余弦はサイン(正弦)と同様に周期的な関数であり、1つの周期が 2π(約6.283)で、波のようなパターンを描きます。


■ 2. Cos関数の構文

Cos(number)

引数:

  • number:ラジアン単位で表された角度(Double 型)

戻り値:

  • 指定角度の余弦(Double 型、範囲: -1 ~ 1)

■ 3. ラジアンと度の変換

VBA の Cos 関数では、角度をラジアンで指定しなければなりません。

【変換式】

  • 度 → ラジアン: ラジアン = 度 × π / 180
  • ラジアン → 度: 度 = ラジアン × 180 / π
Const PI As Double = 3.14159265358979
Dim deg As Double: deg = 60
Dim rad As Double: rad = deg * PI / 180
MsgBox Cos(rad) ' 60度のcos値(約0.5)

■ 4. Cos関数の基本的な使い方

● ラジアンで指定する例

MsgBox Cos(0)                     ' 出力: 1
MsgBox Cos(PI / 2) ' 出力: 0(90度)
MsgBox Cos(PI) ' 出力: -1(180度)
MsgBox Cos(3 * PI / 2) ' 出力: 0(270度)

● 度数指定のヘルパー関数を作成

Function CosDeg(degree As Double) As Double
Const PI As Double = 3.14159265358979
CosDeg = Cos(degree * PI / 180)
End Function

MsgBox CosDeg(60) ' 約0.5

■ 5. Cos関数の特徴

  • 値の範囲は -1 ~ 1
  • 周期は
  • 対称性:偶関数であり、 Cos(-x) = Cos(x)
  • 最大値は 1(角度0°または0ラジアン)
  • 最小値は -1(角度180°またはπラジアン)

■ 6. 応用例

● 三角関数の波形出力

Sub OutputCosWave()
Const PI As Double = 3.14159265358979
Dim deg As Integer
Dim rad As Double
For deg = 0 To 360 Step 10
rad = deg * PI / 180
Debug.Print "角度:" & deg & "°, Cos値:" & Cos(rad)
Next deg
End Sub

このようにすれば、Excel シートやグラフで波形として視覚化できます。


● 円運動(X座標の計算)

Sub CircleMotion()
Const PI As Double = 3.14159265358979
Dim angle As Double
Dim radius As Double: radius = 100
Dim x As Double

For angle = 0 To 360 Step 30
x = radius * Cos(angle * PI / 180)
Debug.Print "角度 " & angle & "°:X座標 = " & x
Next angle
End Sub

このコードは、円周上の点のX座標を計算します。Y座標には Sin を使えば完全な円の動きを再現できます。


● 時刻とともに変化する振動シミュレーション

Sub SimulateOscillation()
Const PI As Double = 3.14159265358979
Dim t As Double
For t = 0 To 2 * PI Step 0.1
Debug.Print "t=" & t & " → " & "位置=" & Cos(t)
Next t
End Sub

これは単振動(例:振り子やバネ)の位置の変化を表現できます。


■ 7. 注意点

● 単位の間違いに注意(度ではなくラジアン)

間違って度数のまま Cos に渡すと、誤った結果になります。

' 間違い(60度をそのまま渡す)
MsgBox Cos(60) ' 結果:-0.952(正しくない)

' 正しい方法
MsgBox Cos(60 * 3.14159265358979 / 180) ' 結果:0.5

● π(円周率)は定義が必要

VBAには PI() 関数がないため、自分で定数を定義する必要があります。

Const PI As Double = 3.14159265358979

■ 8. Sin関数との違いと使い分け

特性Sin関数Cos関数
開始点01
対称性奇関数(反対符号)偶関数(同じ符号)
用途Y座標に多いX座標に多い

例えば、円の動きを表現するには:

x = r * Cos(θ)
y = r * Sin(θ)

とするのが基本です。


■ 9. 関連関数

関数説明
Sin(number)正弦(サイン)関数
Tan(number)正接(タンジェント)関数
Atn(number)逆正接(アークタンジェント)関数
Sqr(number)平方根を返す関数
Abs(number)絶対値
Round(number, digits)四捨五入

■ 10. まとめ

VBAの Cos 関数は、三角関数の「余弦」を求めるための基本関数です。特に、円運動・波形・周期的な振動のモデル化などでよく利用されます。使い方はシンプルですが、ラジアン単位の理解と PI の定義が非常に重要です。

✅ 要点まとめ

  • Cos(number) はラジアンで角度を受け取り、余弦値を返す
  • 値の範囲は -1 ~ 1
  • 周期は 2π、Cos(0) は 1、Cos(π) は -1
  • グラフィックスやアニメーション、物理演算に有効
  • 角度を度で扱う場合は π / 180 で変換
  • Sin関数と組み合わせて使うことで、より幅広い動きや表現が可能
タイトルとURLをコピーしました