Interval setengah terbuka dari bentuk [0,0.5) dapat dibuat menggunakan kode berikut:

rv = np.linspace(0., 0.5, nr, endpoint=False)

Di mana nr adalah jumlah titik dalam interval.

Pertanyaan: Bagaimana cara menggunakan linspace untuk membuat interval terbuka dari formulir (a,b) atau interval setengah terbuka dari formulir (a,b]?

2
jonem 6 Juli 2020, 19:11

1 menjawab

Jawaban Terbaik

Mungkin cara paling sederhana (karena fungsi ini tidak ada di dalam np.linspace()) adalah dengan hanya mengiris apa yang Anda inginkan. Katakanlah Anda tertarik pada interval [0,1] dengan jarak 0,1.

>>> import numpy as np

>>> np.linspace(0, 1, 11)                     # [0,1]
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])

>>> np.linspace(0, 1, 11-1, endpoint=False)   # [0,1)
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])

>>> np.linspace(0, 1, 11)[:-1]                # [0,1) again
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])

>>> np.linspcae(0, 1, 11)[1:]                 # (0,1]
array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])

>>> np.linspace(0, 1, 11)[1:-1]               # (0,1)
array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
2
vanPelt2 6 Juli 2020, 22:29