以下の内容はhttps://pydocument.hatenablog.com/entry/2025/02/16/130614より取得しました。


NumPyの「linspace」の使い方 – 指定区間を指定個数で等分割した配列を生成する

NumPyは、Python数値計算を行うためのライブラリです。NumPyのlinspace関数を使うと、指定した区間を指定した個数で等分割した数値の配列を簡単に生成できます。この記事では、linspaceの基本的な使い方から、応用的な使い方までを解説します。

linspaceとは?

linspaceは、"linear space"の略で、線形空間を意味します。 指定された開始点と終了点の間を指定された数の要素で等間隔に分割した配列を返します。

linspaceの基本的な使い方

linspace関数は、少なくとも開始点、終了点、要素数の3つの引数を取ります。

最もシンプルな例

import numpy as np

# 0から10までを5等分した配列を生成
data = np.linspace(0, 10, 5)
print(data)

このコードでは、0から10までの範囲を5等分したNumPy配列を生成しています。

出力

[ 0.   2.5  5.   7.5 10. ]

主要な引数

linspace関数は、主に以下の引数を受け取ります。

引数 説明
start 開始点の値 0
stop 終了点の値 10
num 生成する要素の数(デフォルトは50) 5
endpoint True(デフォルト)の場合、終了点を含む。Falseの場合、終了点を含まない True, False
retstep Trueの場合、要素間の間隔も返す True, False
dtype 出力配列のデータ型 int, float

終了点を含まない配列の生成

endpoint引数をFalseに設定することで、終了点を含まない配列を生成できます。

# 0から10までを5等分した配列を生成(10は含まない)
data = np.linspace(0, 10, 5, endpoint=False)
print(data)

出力

[0. 2. 4. 6. 8.]

間隔の取得

retstep引数をTrueに設定すると、生成された配列と要素間の間隔(ステップサイズ)をタプルで返します。

# 0から10までを5等分した配列と間隔を取得
data, step = np.linspace(0, 10, 5, retstep=True)
print("配列:", data)
print("間隔:", step)

出力

配列: [ 0.   2.5  5.   7.5 10. ]
間隔: 2.5

データ型の指定

dtype引数で、出力配列のデータ型を指定できます。デフォルトはfloat64です。

# 0から10までを5等分した整数配列を生成
data = np.linspace(0, 10, 5, dtype=int)
print(data)

出力

[ 0  2  5  7 10]

linspaceの応用例

グラフの描画

linspaceは、グラフのx軸の値を生成する際によく使われます。

import matplotlib.pyplot as plt

# -5から5までを100等分した配列を生成
x = np.linspace(-5, 5, 100)
y = x**2  # xの2乗を計算

plt.plot(x, y)
plt.xlabel("x")
plt.ylabel("y = x^2")
plt.title("Parabola")
plt.grid(True)
plt.show()

このコードは、-5から5までの範囲を100等分したx値に対して、y = x^2のグラフ(放物線)を描画します。

まとめ

NumPyのlinspace関数は、指定した範囲を等間隔に分割した配列を生成するためのシンプルで扱いやすい関数です。グラフの描画、数値シミュレーション、データ分析など、様々な場面で活用できます。




以上の内容はhttps://pydocument.hatenablog.com/entry/2025/02/16/130614より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14