AnyMath 文档
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 非常流行,且该语言已实现了海量的函数库。