Python・NumPyで配列要素の双曲線余弦(ハイパボリックコサイン)を計算する方法
PythonのNumPyで配列要素の双曲線余弦(ハイパボリックコサイン)を計算するには、numpy.cosh()メソッドを使用します。このメソッドは 1/2 * (np.exp(x) + np.exp(-x)) および np.cos(1j*x) と数学的に等価であり、各要素に対応する双曲線余弦の値を返します。入力 x がスカラーの場合、結果もスカラーとして返されます。
numpy.cosh() の主な引数
第1引数の x は入力配列です。第2引数と第3引数は省略可能です。
第2引数の out は、結果を格納するためのndarrayです。指定する場合は、入力がブロードキャストされる形状と一致している必要があります。指定しない場合や None を渡した場合は、新しく確保された配列が返されます。
第3引数の where は、入力全体にブロードキャストされる条件です。条件が True の位置では out 配列にufuncの計算結果が設定され、それ以外の位置では out 配列は元の値を保持します。
計算の手順
まず、必要なライブラリをインポートします。
import numpy as np
配列要素の三角関数である双曲線余弦を求めます。NumPyの array() メソッドを使って配列を作成します。
arr = np.array((0., 30., 45., 60., 90., 180., np.pi*1j/2, np.pi*1j))
作成した配列を表示します。
print("Array...\n", arr)配列のデータ型を確認します。
print("\nArray datatype...\n", arr.dtype)配列の次元数を取得します。
print("\nArray Dimensions...\n", arr.ndim)配列の要素数を取得します。
print("\nNumber of elements in the Array...\n", arr.size)配列要素の双曲線余弦を求めるには、Python NumPyの numpy.cosh() メソッドを使用します。
print("\nResult...", np.cosh(arr))完全なコード例
import numpy as np
# numpy.cosh()メソッドで配列要素の双曲線余弦を計算します
# このメソッドは 1/2 * (np.exp(x) + np.exp(-x)) および np.cos(1j*x) と等価です
# 各要素に対応する双曲線余弦の値を返します。xがスカラーの場合は結果もスカラーになります
print("配列要素の双曲線余弦を取得します...")
# NumPyのarray()メソッドで配列を作成
arr = np.array((0., 30., 45., 60., 90., 180., np.pi*1j/2, np.pi*1j))
# 配列を表示
print("Array...\n", arr)
# 配列のデータ型を表示
print("\nOur Array type...\n", arr.dtype)
# 配列の次元数を表示
print("\nOur Array Dimensions...\n", arr.ndim)
# 配列の要素数を表示
print("\nNumber of elements...\n", arr.size)
# numpy.cosh()メソッドで配列要素の双曲線余弦を計算
print("\nResult...", np.cosh(arr))実行結果
Get the Trigonometric Hyperbolic cosine of the array elements... Array... [ 0.+0.j 30.+0.j 45.+0.j 60.+0.j 90.+0.j 180.+0.j 0.+1.57079633j 0.+3.14159265j] Our Array type... complex128 Our Array Dimensions... 1 Number of elements... 8 Result... [ 1.00000000e+00+0.j 5.34323729e+12+0.j 1.74671355e+19+0.j 5.71003695e+25+0.j 6.10201647e+38+0.j 7.44692100e+77+0.j 6.12323400e-17+0.j -1.00000000e+00+0.j]
実行結果からわかるように、実数値が大きくなるほど双曲線余弦の値は急激に増大します。一方、虚数成分を含む要素(例:πi/2)に対しては、cosh(πi/2) ≈ 0、cosh(πi) = -1 となり、オイラーの公式と一致する結果が得られます。このように numpy.cosh() は複素数にも対応しており、配列全体を一度に効率的に処理できるのが大きな利点です。
-
Pythonでリストの重複要素を出力するプログラムの書き方
リスト(配列)の中から重複している要素を見つけて出力したい場合、リストの各要素を順番に取り出して比較する、ネストされたループ(二重ループ)を使うのが基本的なアプローチです。以下に具体的な実装例を示します。サンプルコードmy_list = [1, 2, 5, 6, 8, 9, 3, 4, 8, 9, 1, 8] print(リストの内容 :) print(my_list) print(重複している要素は次のとおりです : ) for i in range(0, len(my_list)): for j in range(i+1, len(my_list)): if(my_
-
Pythonでリスト(配列)の要素を左に回転させる方法を徹底解説
Pythonでは、リスト(配列)の要素を左に回転させたい場合、リストを反復処理しながら、指定した回数だけ要素の位置をずらしていくことで実現できます。 本記事では、for文を使った基本的な左回転の実装方法を、サンプルコードと実行結果とともにわかりやすく解説します。さらに、スライスを使ったより簡潔な書き方もあわせてご紹介します。 サンプルコード my_list = [11, 12, 23, 34, 65] n = 3 print(元のリスト:) for i in range(0, len(my_list)): print(my_list[i]) for i in range(0, n