Если искомая функция является полиномом, для её дифференцирования и интегрирования можно использовать методы модуля numpy.polynomial.polynomial. Хочу обратить внимание, что самый левый коэффициент соответствует младшему члену полинома, правый - старшему. Функции polyder() и polyint() содержат дополнительные опциональные коэффициенты, которые позволяют использовать их более гибко.
Показаны сообщения с ярлыком python. Показать все сообщения
Показаны сообщения с ярлыком python. Показать все сообщения
четверг, 14 июня 2018 г.
воскресенье, 10 июня 2018 г.
Python. Символные вычисления
Если ввести в поисковике запрос "символьные вычисления в python", большинство результатов будут посвящены модулю SymPy. Это действительно мощный инструмент, описание работы с которым можно найти, например, здесь. Я же ограничусь кратким рассмотрением некоторых из возможностей данного модуля.
понедельник, 4 июня 2018 г.
Python. Решение уравнений
Для решения системы линейных уравнений типа Ax = b в numpy имеется функция linalg.solve(). Они принимает на вход квадратную матрицу линейно-независимых строк A, а также вектор значений b, и рассчитывает вектор корней x. Для проверки результата в данном примере использована функция allclose(), она сравнивает два массива поэлементно и возвращает True, если разница не превышает заданной величины (по-умолчанию относительная разность не более 1E-5, абсолютная - 1E-8).
Если найти решение не удалось, можно попробовать функцию linalg.lstsq(), которая ищет такой вектор x, для которого евклидова норма разности между Ax и b будет минимальна.
вторник, 22 мая 2018 г.
Python. Графики
В качестве инструмента построения графиков рассмотрим библиотеку matplotlib и её модуль pyplot. Он предназначен для работы с двумерными фигурами и умеет строить большое число разнообразных типов графиков, обеспечивая при этом Matlab-подобный интерфейс. Простейший график можно создать с помощью следующих команд.
import numpy as npimport matplotlib.pyplot as plt
# векторы абсцисс и ординат
X = np.linspace(0, 2*np.pi, 50)
Y = np.sin(X)
# создание графика и его отображение
plt.plot(X,Y)
plt.show()
Как видно, отрисовка происходит через обращение к модулю pyplot (plt). График строит функция plot(), а отображает - show().
четверг, 17 мая 2018 г.
Python. Массивы
В принципе, массивы в Python можно построить за счёт комбинации списков, однако при больших размерах массива данное решение неэффективно, т.к. работать будет сравнительно медленно, а памяти потребует много. К тому же, все специальные операции придётся задавать вручную. Для решения данных проблем был создан модуль NumPy.
понедельник, 14 мая 2018 г.
воскресенье, 13 мая 2018 г.
Python. Мудрый змей
Python в настоящее время является одним из самых популярных языков программирования. Отчасти это связано с простым и элегантным синтаксисом, отчасти с кроссплатформенностью, отчасти с расширяемостью и огромным сообществом программистов, которые адаптировали этот язык для решения самых разнообразных задач. В том числе, связанных с математическими вычислениями. Обычно, когда говорят про расчёты в Python, на ум приходит пакет NumPy. Однако, это не единственный математический пакет Python, к тому же, его "специализация" - линейная алгебра и работа с массивами. Для полноты его нужно дополнить такими пакетами как SciPy и MatPlotLib (последний необходим для построения графиков). На этом, конечно, разнообразие доступных математических пакетов не заканчивается, но мы ограничимся тремя самыми популярными.
Подписаться на:
Сообщения (Atom)



