Введение
В этом уроке мы рассмотрим использование функции numpy.linspace() из библиотеки NumPy. Эта функция используется для генерации равномерно распределенных чисел в заданном интервале. Она похожа на функцию numpy.arange(), с единственным отличием в том, что вместо шага размерности количество равномерно распределенных значений в интервале задается с использованием аргумента num.
Советы по работе с ВМ
После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook загрузится. Валидация операций не может быть автоматизирована из-за ограничений в Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Разбор синтаксиса
Синтаксис функции numpy.linspace() выглядит следующим образом:
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
Функция принимает различные параметры:
- start: Начальное значение интервала.
- stop: Конечное значение интервала.
- num: Количество равномерно распределенных образцов, которое необходимо сгенерировать в интервале. Значение по умолчанию равно 50.
- endpoint: Булево значение, указывающее, включать или не включать конечную точку интервала. Если значение равно True, то конечная точка включается. Если False, то она исключается. Значение по умолчанию равно True.
- retstep: Булево значение, указывающее, возвращать или не возвращать значение шага, то есть расстояние между последовательными числами. Значение по умолчанию равно False.
- dtype: Тип данных элементов массива.
Генерация массива с использованием linspace()
Для генерации массива с использованием numpy.linspace() вам只需 передать начальное значение, конечное значение и количество образцов, которое вы хотите. Вот пример:
import numpy as np
a = np.linspace(0, 10, num=11)
print(a)
Результат выполнения этого кода будет таким:
[ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
Исключение конечной точки
Для исключения конечной точки мы просто устанавливаем параметр endpoint в значение False. Вот пример:
b = np.linspace(0, 10, num=10, endpoint=False)
print(b)
Результат выполнения этого кода будет таким:
[0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]
Возвращение значения шага
Для возврата значения шага или расстояния между последовательными числами, сгенерированными функцией linspace(), установите параметр retstep в значение True. Вот пример:
c, step = np.linspace(0, 10, num=11, retstep=True)
print(c)
print(step)
Результат выполнения этого кода будет таким:
[ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
1.0
Построение графиков с использованием Linspace()
Мы можем использовать linspace() совместно с matplotlib для построения графиков. Вот пример:
import matplotlib.pyplot as plt
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
plt.plot(x, y)
plt.show()
Результат выполнения этого кода - это простой график синусоидальной волны.
Использование не скалярных значений
Начиная с более новых версий NumPy, linspace() поддерживает нескалярные значения параметров начала и конца. Вот пример:
start = np.array([0, 1, 2])
end = np.array([6, 7, 8])
d = np.linspace(start, end, num=5, axis=1)
print(d)
Результат выполнения этого кода будет таким:
[[0. 1.5 3. 4.5 6. ]
[1. 2.5 4. 5.5 7. ]
[2. 3.5 5. 6.5 8. ]]
Резюме
В этом уроке мы продемонстрировали использование функции numpy.linspace() из библиотеки NumPy. Мы рассмотрели синтаксис, различные параметры и примеры. С этими знаниями вы теперь можете быстро и эффективно генерировать массивы с равномерным распределением элементов.