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

Python – NumPyのlogspace関数で対数スケールの等間隔数列を生成する方法

numpy.logspaceは、対数スケール上で等間隔に配置された数値の配列(ndarray)を生成する関数です。内部的には「start」から「stop」までの範囲を対数空間で均等に分割し、それぞれの値を底(base)のべき乗として計算します。構文は以下の通りです。

numpy.logspace(start, stop, num = 50, endpoint = True/False, base = 10.0, dtype = None)

パラメータ

logspace関数は、以下のパラメータを受け取ることができます。

  • start − 数列の開始点。デフォルト値は0です。

  • stop − 数列の終点。

  • num − startからstopの間に生成する要素の数。デフォルトは50です。

  • endpointstopの値を出力配列に含めるかどうかを制御します。endpoint=Trueの場合、stopの値がndarrayの最後の要素として含まれます。endpoint=Falseの場合、stopの値は含まれません。

  • base − 対数スケールの底。デフォルトは10.0です。

  • dtype − 出力配列のデータ型を指定します。

例1

まず、基本的な使用例を見てみましょう。

# 必要なライブラリをインポート
import numpy as np

# logspace() 関数
x = np.logspace(start = 1, stop = 8, endpoint = False)
print ("logspace of X : \n", x)

出力

上記のプログラムを実行すると、以下の出力が得られます。endpoint=Falseを指定しているため、10^1(=10)から始まり、10^8は含まれない結果になります。

logspace of X :
 [1.00000000e+01 1.38038426e+01 1.90546072e+01 2.63026799e+01
 3.63078055e+01 5.01187234e+01 6.91830971e+01 9.54992586e+01
 1.31825674e+02 1.81970086e+02 2.51188643e+02 3.46736850e+02
 4.78630092e+02 6.60693448e+02 9.12010839e+02 1.25892541e+03
 1.73780083e+03 2.39883292e+03 3.31131121e+03 4.57088190e+03
 6.30957344e+03 8.70963590e+03 1.20226443e+04 1.65958691e+04
 2.29086765e+04 3.16227766e+04 4.36515832e+04 6.02559586e+04
 8.31763771e+04 1.14815362e+05 1.58489319e+05 2.18776162e+05
 3.01995172e+05 4.16869383e+05 5.75439937e+05 7.94328235e+05
 1.09647820e+06 1.51356125e+06 2.08929613e+06 2.88403150e+06
 3.98107171e+06 5.49540874e+06 7.58577575e+06 1.04712855e+07
 1.44543977e+07 1.99526231e+07 2.75422870e+07 3.80189396e+07
 5.24807460e+07 7.24435960e+07]

例2

次に、numbaseを指定した別の例を見てみましょう。

# numpyをインポート
import numpy as np

# logspace() 関数
x = np.logspace(start = 2, stop = 4, num = 4, base = 3.0)
print ("logspace of X :\n", x)

出力

このプログラムを実行すると、以下の出力が生成されます。

logspace of X :
[ 9. 18.72075441 38.9407384 81. ]

ここではnum=4を指定しているため、startとstopの間に4つの要素だけが生成されます。また、底(base)にはデフォルトの10.0ではなく3.0を指定しているため、3^2(=9)から3^4(=81)までの対数スケール上の等間隔な数列が出力されます。

  1. PythonでPow(x, n)を実装する方法|ライブラリ関数を使わずにべき乗を計算するアルゴリズム

    問題の概要2つの入力 x と n が与えられたとします。x は -100.0 から 100.0 の範囲に収まる実数、n は32ビット符号付き整数です。ここでの課題は、ライブラリ関数を使用せずに x の n 乗(x^n)を求めることです。例えば、入力が x = 12.1、n = -2 の場合、出力は 0.00683 となります。解法のアプローチ:バイナリ累乗法(繰り返し二乗法)この問題は「バイナリ累乗法(繰り返し二乗法)」と呼ばれる手法で効率的に解けます。指数を2進数として扱い、計算回数を O(log n) まで削減できるのがポイントです。手順は以下の通りです。power に |n|(n の絶対

  2. Windows 10にNumPyをインストールする方法【初心者向け完全ガイド】

    Pythonで最も人気があり広く知られているライブラリのひとつがNumPy(ナンパイ)です。NumPyはPythonプログラミング言語向けのオープンソースライブラリで、科学技術計算やn次元配列の操作に幅広く活用されています。線形代数ルーチンや数学関数など、配列を扱うための高機能なツールを数多く提供しており、Pythonの拡張モジュールとして動作します。スクリプトをダウンロードして拡張機能やヘッダーファイルとして使うイメージに近い存在です。 本記事では、Windows環境にNumPyをインストールする具体的な手順を、初心者にもわかりやすく詳しく解説していきます。 Windows 10にNumP