Найти в Дзене
Андрей Ненашев

Python.Построение графика по функциям.

Сегодня я попытаюсь показать как написать простую программу для решения линейных уровнений Написание программы Программу можно поделить на несколько так называемых модулей. Первый отвечает за построение координатной плоскости. Второй отвечает за расчёт двух прямых с помощью заранее введённых данных. Третий за построение легенды на координатной плоскости (то есть построение надписей, прямых, единичных отрезков и решётки). И четвёртый заключительный модуль за отрисовку графика функций. Также отдельно можно выделить модуль ввода данных. Ввод данных Ввод данных будет осуществляться, блоком команд “input()”. Данные будут вводится в следующем порядке: a. Коэффициент первой переменной в первом уравнение b. Коэффициент второй переменной в первом уравнение c. Ответ в первом уравнение d. Коэффициент первой переменной во втором уравнение e. Коэффициент второй переменной во втором уравнение f. Ответ во втором уравнение В дальнейшем эти значения будут подставлены в формулы. Построение координ

Сегодня я попытаюсь показать как написать простую программу для решения линейных уровнений

Написание программы

Программу можно поделить на несколько так называемых модулей. Первый отвечает за построение координатной плоскости. Второй отвечает за расчёт двух прямых с помощью заранее введённых данных. Третий за построение легенды на координатной плоскости (то есть построение надписей, прямых, единичных отрезков и решётки). И четвёртый заключительный модуль за отрисовку графика функций. Также отдельно можно выделить модуль ввода данных.

Ввод данных

Ввод данных будет осуществляться, блоком команд “input()”.

Данные будут вводится в следующем порядке:

a. Коэффициент первой переменной в первом уравнение

b. Коэффициент второй переменной в первом уравнение

c. Ответ в первом уравнение

d. Коэффициент первой переменной во втором уравнение

e. Коэффициент второй переменной во втором уравнение

f. Ответ во втором уравнение

В дальнейшем эти значения будут подставлены в формулы.

Построение координатной плоскости

За построение координатной плоскости в языке программирования Python отвечают команды “np.linspace” и “fig,ax = plt.subplots” . В команду “np.linspace” вводятся три переменные. Первая и вторая отвечают за количество единичных отрезков на оси X. Третья отвечает за количество точек на координатной плоскости (для построения прямых). Тем самым команда “np.linspace” рассчитывает размеры оси X и координатной плоскости. При построении оси Y учитываются не только данные введённые в команду “np.linspace”, но и данные об уравнении, введённые впоследствии. Далее команда “fig,ax = plt.subplots” обрабатывает все данные и строит координатную плоскость.

Плоскость
Плоскость

Построение графиков функций

Изначально мы назначаем две переменные, y1=(a*x-c)/-b и y2=(d*x-f)/-e, это функции, по которым в дальнейшем будут построены графики функций. В этой программе за построение графиков функций отвечает команда “ax.plot”. В команду вводятся данные, по которым она должна построить график функций (в нашем случае это переменные y1, y2). Далее вводятся данные о цвете графика функции, и название (которое будет отображаться в отдельном окне).

Построение легенды.

Для того чтобы после построения графиков функций было легче определять точку пересечения двух прямых (которая будет являться решением системы линейного уравнения), нужно отобразить легенду. В нашем случае это будет сетка и единичные отрезки.

Для построения сетки используется команда “ax.grid”. Команда используется для построения основной (major) сетки и для дополнительной (minor) сетки. В команде указывается размер, цвет и тип сетки.

-2

Основная сетка – тип непрерывная, цвет серый, размер 1.2.

Дополнительная сетка – тип пунктирная, цвет серый, размер 0.5.

Для отрисовки единичных отрезков используются команды.

-3

Они автоматически определяют размеры единичного отрезка. Первая команда отвечает за ось X. Вторая же отвечает за ось Y.

Теперь нужно объедини легенду командой “ax.legend”

-4

Отображение графиков функций

Для отображения любых графиков, чертежей и рисунков используется команда “pit.show()”

Итоговый код

-5

Итоговый код состоит из 26 команд, принимает 6 чисел и выводит координатную плоскость с графиками функций и легендой на нём.

Время срабатывания без оптимизации 1.46

секунды.

Рисунок 3. Итоговый код

Тест программы

Проведём тест программы, задав линейную систему уравнений уравнения. Сначала решим систему уравнений алгебраическим методом, а затем через программу геометрическим способом.

Решение:

Теперь вводим данные в программу

На выходе получаем координатную плоскость

Рисунок 4. Решение линейной системы уравнений

Точка пересечения находится на координатах (3,1). Значит ответ x=3, y=1. Ответы совпадают, значит программа работает правильно.

Заключение

В итоге проведения проектной работы были достигнуты все поставленные цели. Программа принимает данные и по ним строит графики линейных функций и отображает точку пересечения. Также программа справляется со своими задачами быстрее чем за 2 секунды, а точнее за 1.46 секунду. Так что мы делаем вывод, что проект можно считать успешным.

Литература

1. Сberforum/ http://www.cyberforum.ru

2. Стандартная библиотека Python/Wikipedia/ https://ru.wikipedia.org

3. Графический способ решения систем уравнений/ interneturok/ https://interneturok.ru

4. Решение линейных уравнений в Pynhon/ кофедизайн.рф/ https://кофедизайн.рф/information

5. 6 основных библиотек для программирования на Python/ habr/ https://habr.com/ru