Генерация равномерно распределенных чисел с помощью функции np.linspace
Функция np.linspace в библиотеке NumPy
Функция np.linspace
в библиотеке NumPy возвращает заданное количество равномерно распределенных значений в определенном интервале. Она является одним из важных инструментов для создания массивов чисел с равномерным шагом.
Синтаксис функции np.linspace
выглядит следующим образом:
<pre><code><span class="hljs-name hljs-built_in">np.linspace</span>(start, stop, num=50, endpoint=True, retstep=False, dtype=None)</code></pre>
Где:
start
- начальное число интервалаstop
- конечное число интервалаnum
- количество значений, которые нужно сгенерировать (по умолчанию равно 50)endpoint
- булевое значение, указывающее, должно ли конечное число входить в интервал (по умолчанию True)retstep
- булевое значение, указывающее, нужно ли вернуть шаг между значениями (по умолчанию False)dtype
- тип данных для возвращаемого массива (по умолчанию None, что означает выбор наиболее подходящего типа автоматически)
Давайте рассмотрим примеры использования функции np.linspace
:
1. Создание массива из 10 чисел, начинающихся с 0 и заканчивающихся 100:
<pre><code><span class="hljs-keyword hljs-import">import</span> numpy <span class="hljs-keyword hljs-as">as</span> np
arr = np.linspace(0, 100, num=10)
print(arr)
</code></pre>
Вывод:
<pre><code>array([ 0. , 11.11111111, 22.22222222, 33.33333333, 44.44444444,
55.55555556, 66.66666667, 77.77777778, 88.88888889, 100. ])</code></pre>
2. Создание массива из 100 значений между -1 и 1:
<pre><code><span class="hljs-keyword hljs-import">import</span> numpy <span class="hljs-keyword hljs-as">as</span> np
arr = np.linspace(-1, 1, num=100)
print(arr)
</code></pre>
Вывод:
<pre><code>array([-1. , -0.97979798, -0.95959596, -0.93939394, -0.91919192,
-0.8989899 , -0.87878788, -0.85858586, -0.83838384, -0.81818182,
...
0.81818182, 0.83838384, 0.85858586, 0.87878788, 0.8989899 ,
0.91919192, 0.93939394, 0.95959596, 0.97979798, 1. ])</code></pre>
3. Создание массива из 5 чисел с шагом 2:
<pre><code><span class="hljs-keyword hljs-import">import</span> numpy <span class="hljs-keyword hljs-as">as</span> np
arr, step = np.linspace(0, 10, num=5, retstep=True)
print(arr) # [ 0. 2.5 5. 7.5 10.]
print(step) # 2.5
</code></pre>
Как видно из примеров, функция np.linspace
удобна для создания последовательностей чисел с определенным шагом. Она может быть полезной при создании массивов, графиков или других операций, где требуется равномерное распределение значений.