虽然我理解模拟和模拟的一般含义,但我几乎总是对它们感到困惑。假设我创建了一个模仿现有硬件/软件的软件,我应该如何称呼它?模拟器还是模拟器?

有人能从编程的角度来解释一下吗?

福利:这两个词在英语中有什么区别?(对不起,我的母语不是英语:))


当前回答

两者都是对象的模型,您可以通过某种方式控制对象的输入和观察对象的输出。

关键的区别在于:

使用模拟器,您希望输出与所模拟的对象将产生的结果完全匹配。 使用模拟器,您希望输出的某些属性与对象将产生的类似。

让我举个例子——假设你想做一些系统测试,看看在系统中添加一个新的传感器(比如温度计)会如何影响系统。你知道温度计每秒发送8次包含其测量值的信息。

模拟——如果你还没有温度计,但是你想测试这个消息速率不会使你的系统过载,你可以通过附加一个每秒发送8次随机数的单元来模拟传感器。您可以运行任何不依赖于传感器发送的实际值的测试。

模拟——假设你有一个非常昂贵的温度计,测量值为0.001 C,你想看看是否可以使用一个更便宜的温度计,只能测量到最近的0.5 C。你可以使用一个昂贵的温度计模拟更便宜的温度计,然后将读数四舍五入到最近的0.5 C,并运行依赖于温度值的测试。

注意,模拟也可以用于预测或预测行为。有限元分析模拟应用于许多领域,包括天气预报和虚拟风洞。

术语的定义:

竞赛——超越或完全匹配 模仿——模仿外表或性格

其他回答

如果一个飞行模拟器可以把你从a带到B,那么它就是一个飞行模拟器。

仿真器可以代替原来的,以供实际使用。 虚拟PC是一种模拟PC的设备。

模拟器是用于研究和分析的模型。

模拟器总是必须接近实时运行。对于模拟器来说,情况并非总是如此。地质模拟可以做到1000年/秒甚至更久。

几年前,我想出了一个非常简短的格言,我相信,它很好地抓住了差异的本质:

模拟器是执行任务的模拟器。

我的意思是,当你不能使用真正的东西时,你可以使用模拟器,当你不能使用真正的东西时,你可以使用模拟器,当你想找到一些关于它的东西时。

简单的解释。

如果你想把你的电脑(运行Windows)转换成Mac,你可以做以下任何一项:

你可以简单地在你的Windows上安装一个Mac主题。所以,你的电脑感觉上更像Mac,但实际上你不能运行任何Mac程序。(模拟)

(or)

(2)你可以把你的电脑编程成像Mac一样运行(我不确定这是否可能:P)。现在你甚至可以成功地运行Mac程序,并期望得到与Mac上相同的输出。

在第一种情况下,你可以体验Mac,但你不能期待与Mac相同的输出。 在第二种情况下,你可以期待与Mac上相同的输出,但事实仍然是它只是一台PC。

模拟是模拟外部可观察到的行为以匹配现有目标的过程。模拟机制的内部状态不必准确地反映它所模拟的目标的内部状态。

另一方面,仿真涉及到对目标的基本状态进行建模。一个好的仿真的最终结果是,仿真模型将模拟它所模拟的目标。

理想情况下,您应该能够查看模拟并观察到您在查看原始目标时也会看到的属性。在实践中,由于性能原因,模拟可能存在一些快捷方式——也就是说,模拟的某些内部方面实际上可能是模拟。

MAME是一款街机游戏模拟器;Hyperterm是一个(不是很好的)终端仿真器。没有必要为街机或终端详细建模以获得所需的模拟行为。

《Flight Simulator》是一款模拟器;SPICE是一个电子模拟器。他们尽可能地模拟目标的每个细节,以表示目标在现实中的行为。

EDIT: Other responses have pointed out that the goal of an emulation is to able to substitute for the object it is emulating. That's an important point. A simulation's focus is more on the modeling of the internal state of the target -- and the simulation does not necessarily lead to emulation. In particular, a simulation may run far slower than real-time. SPICE, for example, cannot substitute for an actual electronics circuit (even if assuming there was some kind of magical device that perfectly interfaces electrical circuits to a SPICE simulation.) A simulation does not always lead to emulation --

竞争就像 最后。 它展示了它的能力。 示例:汽车驾驶仿真。

模拟就像 封装。 它展示了它的能力 例:汽车发动机内部活动。