Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Учебное пособие по SciPy в Python:что такое | Примеры библиотек и функций

SciPy в Python

SciPy в Python — это библиотека с открытым исходным кодом, используемая для решения математических, научных, инженерных и технических задач. Это позволяет пользователям манипулировать данными и визуализировать данные, используя широкий спектр высокоуровневых команд Python. SciPy построен на расширении Python NumPy. SciPy также произносится как «Sigh Pi».

Подпакеты SciPy:

Из этого руководства по Python SciPy вы узнаете:

Зачем использовать SciPy

Numpy VS SciPy

Нумпи:

SciPy:

SciPy — установка и настройка среды

Вы также можете установить SciPy в Windows через pip

06

Установите Scipy в Linux

15 

Установите SciPy на Mac

23

Прежде чем мы начнем изучать SciPy Python, вам необходимо знать базовые функции, а также различные типы массивов NumPy

Стандартный способ импорта модулей SciPy и Numpy:

37

Пакет файлового ввода/вывода:

Scipy, пакет ввода-вывода, имеет широкий набор функций для работы с файлами различных форматов:Matlab, Arff, Wave, Matrix Market, IDL, NetCDF, TXT, CSV и бинарный формат.

Возьмем пример одного формата файла Python SciPy, который регулярно используется в MatLab:

45

Вывод:

53

Пояснение кода

  • Строка 1 и 2: Импортируйте основную библиотеку SciPy в Python с пакетом ввода-вывода и Numpy.
  • Строка 3 :создать размерный массив 4 x 4
  • Строка 4 :сохранить массив в example.mat. файл.
  • Строка 5: Получить данные из example.mat файл
  • Строка 6 :вывод на печать.

Пакет специальных функций

  • scipy.special пакет содержит множество функций математической физики.
  • Специальные функции SciPy включают кубический корень, экспоненту, экспоненту логарифмической суммы, Ламберта, перестановку и комбинацию, гамму, бессель, гипергеометрию, кельвин, бета, параболический цилиндр, экспоненту относительной ошибки и т. д.
  • Чтобы описать все эти функции одной строкой, введите в консоли Python:
66

Функция кубического корня:

Функция кубического корня находит кубический корень значений.

Синтаксис:

78

Пример:

84

Вывод: массив([3., 4.])

Экспоненциальная функция:

Экспоненциальная функция вычисляет 10**x поэлементно.

Пример:

94

Вывод:[1.e+01 1.e+10]

Перестановки и комбинации:

SciPy также предоставляет функциональные возможности для расчета перестановок и комбинаций.

Комбинации — scipy.special.comb(N,k)

Пример:

102

Выход:15,0

Перестановки —

119

Пример:

124

Результат:20

Экспоненциальная функция логарифмической суммы

Log Sum Exponential вычисляет логарифм экспоненциального входного элемента суммы.

Синтаксис:

139

Функция Бесселя

Функция расчета N-го целочисленного порядка

Синтаксис:

141

Линейная алгебра с SciPy

  • Линейная алгебра SciPy — это реализация библиотек BLAS и ATLAS LAPACK.
  • Линейная алгебра работает очень быстро по сравнению с BLAS и LAPACK.
  • Подпрограмма линейной алгебры принимает объект двумерного массива, и на выходе также является двумерным массивом.

Теперь давайте проверим с помощью scipy.linalg.

Вычисление детерминанта двумерной матрицы,

154

Вывод: -7,0

Обратная матрица —

160

Обратная матрица Scipy вычисляет обратную любую квадратную матрицу.

Посмотрим,

174

Вывод:

181

Собственные значения и собственный вектор

scipy.linalg.eig()

  • Самая распространенная проблема в линейной алгебре — это собственные значения и собственный вектор, которые можно легко решить с помощью eig(). <сильный> функция.
  • Теперь давайте найдем собственное значение (X ) и соответствуют собственному вектору двумерной квадратной матрицы.

Пример

192

Вывод:

207

Дискретное преобразование Фурье — scipy.fftpack

  • ТПФ – это математический метод, который используется для преобразования пространственных данных в частотные данные.
  • БПФ (быстрое преобразование Фурье) — это алгоритм вычисления ДПФ.
  • БПФ применяется к многомерному массиву.
  • Частота определяет количество сигналов или длину волны в определенный период времени.

Пример: Возьмите волну и покажите, используя библиотеку Matplotlib. возьмем пример простой периодической функции sin(20 × 2πt)

215

Вывод:

Вы можете видеть это. Частота составляет 5 Гц, а его сигнал повторяется через 1/5 секунды — это звонок в определенный период времени.

Теперь воспользуемся этой синусоидой с помощью приложения DFT.

224

Вывод:

  • Отчетливо видно, что выходные данные представляют собой одномерный массив.
  • Ввод, содержащий комплексные значения, равен нулю, кроме двух точек.
  • В примере DFT мы визуализируем величину сигнала.

Оптимизация и вписывание в SciPy — scipy.optimize

  • Оптимизация предоставляет полезный алгоритм минимизации аппроксимации кривых, многомерных или скалярных и корневых аппроксимаций.
  • Давайте рассмотрим пример скалярной функции. чтобы найти минимальную скалярную функцию.
233

Вывод:

Оптимизация успешно завершена.

Текущее значение функции:-23,241676

Итерации:4

Оценки функций:18

Оценка градиента:6

массив([-1.67096375])

  • В данном примере оптимизация производится с помощью алгоритма градиентного спуска из начальной точки.
  • Но возможной проблемой являются локальные минимумы, а не глобальные минимумы. Если мы не находим соседей глобальных минимумов, то нам нужно применить глобальную оптимизацию и найти функцию глобальных минимумов, используемую как basinhopping() который сочетает в себе локальный оптимизатор.

optimize.basinhopping(function, 0)

Вывод:

246

Алгоритм Нелдера-Мида:

  • Алгоритм Нелдера-Мида выбирает параметр метода.
  • Это наиболее простой способ минимизации для корректной работы.
  • Алгоритм Нелдера-Мида не используется для оценки градиента, поскольку поиск решения может занять больше времени.
256

Вывод:

260

Обработка изображений с помощью SciPy — scipy.ndimage

  • scipy.ndimage — это подмодуль SciPy, который в основном используется для выполнения операций, связанных с изображениями.
  • nизображение означает n-мерное изображение.
  • Обработка изображений SciPy обеспечивает преобразование геометрии (поворот, обрезка, отражение), фильтрацию изображений (резкость и удаление), отображение изображения, сегментацию изображения, классификацию и извлечение признаков.
  • Разное в SciPy содержит готовые изображения, которые можно использовать для выполнения задач по обработке изображений

Пример: Возьмем пример геометрического преобразования изображений

274

Вывод:

Теперь мы переворачиваем текущее изображение:

289

Вывод:

<сильный>

Пример: Вращение изображения с помощью Scipy,

290

Вывод:

Интеграция с Scipy — цифровая интеграция

  • Когда мы интегрируем любую функцию, где аналитическое интегрирование невозможно, нам нужно обратиться к численному интегрированию
  • SciPy предоставляет функции для интеграции функций с числовым интегрированием.
  • scipy.integrate библиотека имеет одиночное интегрирование, двойное, тройное, кратное, квадрат Гаусса, правила Ромберга, трапеции и правила Симпсона.

Пример: Теперь рассмотрим пример единой интеграции.

Здесь а — верхний предел и b нижний предел

300

Вывод:

(0,33333333333333337, 3,700743415417189e-15)

Здесь функция возвращает два значения, в которых первое значение представляет собой интегрирование, а второе значение представляет собой расчетную ошибку в интеграле.

Пример. Теперь возьмем пример SciPy с двойной интеграцией. Мы находим двойное интегрирование следующего уравнения,

312

Вывод:

(3.0, 9.657432734515774e-14)

Вы видели, что приведенный выше вывод аналогичен предыдущему.

Обзор

  • SciPy (произносится как «Sigh Pi») — это библиотека с открытым исходным кодом на основе Python, которая используется в математике, научных вычислениях, инженерии и технических вычислениях.
  • SciPy содержит множество подпакетов, которые помогают решить наиболее распространенную проблему, связанную с научными вычислениями.
  • SciPy построен поверх NumPy
Имя пакета Описание
scipy.io
  • Ввод/вывод файла
scipy.special
  • Специальная функция
scipy.linalg
  • Операция линейной алгебры
scipy.interpolate
  • Интерполяция
scipy.optimize
  • Оптимизация и подгонка
scipy.stats
  • Статистика и случайные числа
scipy.integrate
  • Цифровая интеграция
scipy.fftpack
  • Быстрое преобразование Фурье
scipy.signal
  • Обработка сигналов
scipy.ndimage
  • Обработка изображений –

Python

  1. Оператор Python Print():как печатать с примерами
  2. Количество строк Python() с ПРИМЕРАМИ
  3. Python String format() Объясните с ПРИМЕРАМИ
  4. Лямбда-функции Python с ПРИМЕРАМИ
  5. Функция abs() в Python:примеры абсолютных значений
  6. Функция Python round() с ПРИМЕРАМИ
  7. Функция Python map() с ПРИМЕРАМИ
  8. Python Timeit() с примерами
  9. Учебное пособие по доходности в Python:генератор и пример доходности и возврата
  10. type() и isinstance() в Python с примерами