一、说明
在计算机编程领域,仿真在理解复杂系统、进行实验和做出明智决策方面发挥着关键作用。SimPy 是“Simulation Python”的缩写,是一个功能强大且多功能的仿真框架,允许开发人员和研究人员使用 Python 创建和分析离散事件仿真。无论您是新手还是经验丰富的程序员,SimPy 都提供了一种直观有效的方法来建模和模拟各种场景,使其成为从运筹学到物流、从流行病学到制造等广泛领域不可或缺的工具。本文 是一个关于如何精通 simpy 的内容广泛的系列。
二、什么是 SimPy?
SimPy 是一个开源 Python 库,专为建模和模拟离散事件系统而设计。它提供了用于创建模拟的构建块,使您能够准确地对系统中的时间和事件流进行建模。与变量随时间连续变化的连续模拟不同,离散事件模拟关注在特定时间点发生的事件。这些事件会触发系统中的状态变化,使 SimPy 特别适合涉及离散且通常不可预测的事件的建模过程。
SimPy 的一些主要功能包括:
进程:在 SimPy 中,模拟中的实体表示为进程。这些进程可以是任何事物,例如队列中的人、交通网络中的车辆或计算机系统中的任务。您可以使用 Python 生成器函数定义流程,从而轻松建模复杂的异步行为。
事件:事件是 SimPy 建模方法的核心。事件可以安排在特定时间或满足特定条件后发生。您可以创建事件链并通过调度事件来触发系统中的更改来管理模拟中的时间流。
资源:在许多模拟中,资源是有限的,需要在不同实体之间共享。SimPy 提供了一个资源类,允许您对资源分配和争用进行建模。这对于数据中心服务器分配或工厂机器分配等建模场景非常有价值。
统计和数据收集: SimPy 提供了一系列用于在模拟过程中收集数据的工具。这包括监视事件、跟踪实体在各种状态下花费的时间以及记录其他相关信息。这些统计数据对于分析和理解系统行为至关重要。
集成: SimPy 与其他 Python 库和工具高度兼容。您可以将其与 NumPy 和 Pandas 等数据分析库结合使用来分析模拟结果并做出数据驱动的决策。
三、SymPy — 安装
SymPy 有一个重要的必备库,名为mpmath。它是一个用于任意精度的实际复杂浮点运算的 Python 库。但是,当安装 SymPy 时,Python 的包安装程序 PIP 会自动安装它,如下所示 -
pip install sympy
import sympy
sympy.__version__
Output:
'1.12'
四、SymPy — 符号计算
符号计算涉及创建旨在操纵数学表达式和各种数学实体的算法。它融合了数学和计算机科学领域,通过使用数学符号来解析数学表达式。计算机代数系统 (CAS),如 SymPy,通过利用传统手动技术中使用的符号来精确评估代数表达式。为了说明这一点,请考虑通过 Python 的数学模块计算数字的平方根,如下所示 -
import math
print (math.sqrt(25), math.sqrt(7))
Output:
5.0 2.6457513110645907
您可能会发现此处显示了 7 的平方根的近似计算。但是,在 SymPy 中,默认情况下不计算缺乏完美平方根的数字的平方根,如下所示:
import sympy
print (sympy.sqrt(7))
Output:
sqrt(7)
可以使用下面的代码片段以符号方式简化和显示表达式结果 -
import math
print (math.sqrt(12))
Output:
3.4641016151377544
您需要使用下面的代码片段来使用 sympy 执行相同的操作 -
print (sympy.sqrt(12))
Output:
2*sqrt(3)
文章
10.51W+人气
19粉丝
1关注
©Copyrights 2016-2022 杭州易知微科技有限公司 浙ICP备2021017017号-3 浙公网安备33011002011932号
互联网信息服务业务 合字B2-20220090