Engee 文档
Notebook

如何在 Engee 脚本中使用 Python

在本例中,我们将了解在Engee环境中与Python交互的原理,并进行一些图形练习。

开始

选择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]:

这个例子说明,我们不仅可以使用Engeejulia,还可以使用Python处理矢量值。

结论

在本例中,我们展示了Engee使用Python编写和实现算法的能力。在当今世界,由于Python非常流行,大量功能都是用这种语言实现的,因此这种选择非常受欢迎。