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来处理矢量值。

结论

在这个例子中,我们演示了EngeePython中编写和实现算法的能力。 在现代世界中,这个选项需求量很大,因为Python非常受欢迎,并且用这种语言实现了大量的功能。