Документация Engee
Notebook

Как использовать Python в скриптах Engee

Открыть пример в Engee

В данном примере мы рассмотрим принципы взаимодействия с Python из среды Engee и сделаем несколько упражнений с графиками.

Начало работы

Выбор языка Python:

In [ ]:
using PyCall
using Plots

Импорт вычислительной библиотеки NumPy:

In [ ]:
py"""
import numpy as np # Фундаментальный пакет для научных вычислений
"""

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

Построение графиков по точкам:

In [ ]:
plot(py"""[1, 2]""",py"""[3, 4]""")# Отрисовка возрастающего графика
plot!(py"""[1, 2]""",py"""[4, 3]""") # Отрисовка убывающего графика
Out[0]:

Построение нескольких графиков

Объявление функции для построения графиков.

In [ ]:
py"""
def f(t):
    return np.exp(-t) * np.cos(2*np.pi*t) # Математическая формула
"""

Объявление массивов.

In [ ]:
py"""
t1 = np.arange(0.0, 5.0, 0.1)
t2 = np.arange(0.0, 5.0, 0.02)
"""

Построение графиков.

In [ ]:
plot(py"""t2""", py"""np.cos(2*np.pi*t2)""")
Out[0]:
In [ ]:
plot(py"""t1""", py"""f(t1)""")
plot!(py"""t2""", py"""f(t2)""")
Out[0]:

Также имеется возможность импорта библиотек Python напрямую в Engee. Рассмотрим такой пример за счёт подключения библиотек Math и Numpy.

In [ ]:
math = pyimport("math")
Out[0]:
PyObject <module 'math' from '/usr/local/julia-1.9.3/conda/3/x86_64/lib/python3.10/lib-dynload/math.cpython-310-x86_64-linux-gnu.so'>

Для демонстрации работоспособности данного подхода воспользуемся функциями sin для констант и векторов.

In [ ]:
math.sin(math.radians(90))
Out[0]:
1.0
In [ ]:
a = math.pi/4;
math.sin(a)
Out[0]:
0.7071067811865475

Как мы видим из примера выше, можно задавать значения в Engee и далее их использовать, применяя функции Python.

In [ ]:
a = [1,2,3]
numpy = pyimport("numpy")
a = numpy.sin(a)
Out[0]:
3-element Vector{Float64}:
 0.8414709848078965
 0.9092974268256817
 0.1411200080598672
In [ ]:
using Plots
plot(a)
Out[0]:

Из этого примера видно, что мы можем работать также и с векторными значениями и выполнять их обработку не только при помощи функционала Engee, julia, но и при помощи Python.

Вывод

В данном примере мы продемонстрировали возможности Engee в написании и реализации алгоритмов на Python. В современном мире эта опция очень востребована, так как Python очень популярен, и на этом языке реализован огромный объём функционала.