Показаны сообщения с ярлыком numpy. Показать все сообщения
Показаны сообщения с ярлыком numpy. Показать все сообщения

понедельник, 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 np
  import 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.