Python
 Computer >> コンピューター >  >> プログラミング >> Python

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) ≈ 0cosh(πi) = -1 となり、オイラーの公式と一致する結果が得られます。このように numpy.cosh() は複素数にも対応しており、配列全体を一度に効率的に処理できるのが大きな利点です。

  1. 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_

  2. 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