ChatGPT解决这个技术问题 Extra ChatGPT

模拟器还是模拟器?有什么区别?

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

谁能解释一下编程方面的区别?

奖励:这两个术语在英语中有什么区别? (对不起,我不是母语人士:))

在移动应用程序开发中,iPhone 有一个模拟器,而 Android 有一个模拟器。更多信息 - stackoverflow.com/questions/4544588/…
我发现 Wikipedia 对此信息的看法:en.wikipedia.org/wiki/Emulator#Emulation_versus_simulation
这也有助于解释这一点:programmers.stackexchange.com/questions/134746/…

B
Buo-ren Lin

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

另一方面,模拟涉及对目标的基本状态进行建模。良好模拟的最终结果是模拟模型将模拟它正在模拟的目标。

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

MAME是一款街机游戏模拟器; Hyperterm 是一个(不是很好的)终端仿真器。无需对街机或终端进行详细建模即可获得所需的模拟行为。

Flight Simulator 是一个模拟器; SPICE 是一个电子模拟器。他们尽可能多地对目标的每个细节进行建模,以代表目标在现实中所做的事情。

编辑:其他回应指出,仿真的目标是能够替代它正在仿真的对象。这是很重要的一点。仿真的重点更多是对目标内部状态的建模——仿真并不一定会导致仿真。特别是,模拟可能比实时运行慢得多。例如,SPICE 不能替代实际的电子电路(即使假设有某种神奇的设备可以将电路完美地连接到 SPICE 仿真。)仿真并不总是导致仿真——


根据这个定义,是否不可能在软件中模拟现实世界?我认为我们不能准确地表示现实世界的基本状态——目前只能模拟可观察的属性。
我不同意这种“[Simulations] 模型尽可能多地通过目标的每一个细节来代表目标在现实中所做的事情”。根据模拟的目的,模拟具有足够详细的目标系统模型。例如,Flight Simulator 可能不会对海中的鱼进行建模,因为它对模拟目的毫无用处。
这里的答案正好相反:stackoverflow.com/questions/2174638/…
似乎大多数人以另一种方式使用这些词,例如:模拟通常发生在比模拟更高的级别上(尽管在给定的上下文中这两个词很少一起使用)。参见例如 Android Emulator 与 Apple 的 Simulator。我建议在此答案中切换单词以与大多数定义保持一致,并防止将来的访问者混淆。
我认为这个答案改变了两个术语。所有其他来源都将其解释为:模拟=重复行为;仿真=重复的内部工作。这导致了以下结论:它们都是令人毛骨悚然的主观术语。
H
Henk Holterman

如果飞行模拟器可以将您从 A 运送到 B,那么它将是飞行模拟器。

一个模拟器可以代替原来的真正使用。虚拟 PC 模拟 PC。

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

仿真器必须始终接近实时地运行。对于并非总是如此的模拟器。地质模拟可以做 1000 年/秒或更多。


@Henk您的“驾驶舱”示例很棒,尽管我在阅读Toybuilder答案后理解了它。谢谢 :)
Virtual PC 不模拟,它虚拟化。另一方面,QEmu 确实可以模拟。在这两种情况下,名称都应该是一个提示。
我认为可以肯定地说 Virtual PC 模拟 PC。它如何模拟 PC 是通过虚拟化,但这更多的是实现细节。您可能会争辩说,硬件虚拟化是仿真的超集,因为它可以提供加速 CPU 支持、独占硬件设备访问等。
等等,Virtual PC 不是提供了几乎 1:1 的真实 PC 复制品吗? (我的意思是,系统虚拟化通常不仅应该模拟外部行为,而且应该模拟系统的几乎每个角落和缝隙,这与应用程序虚拟化不同,例如不重新创建网络堆栈)。
我在哪里可以找到所说的飞行模拟器?
d
dev101

模拟 = 用于分析和研究

仿真=用作替代品

模拟器是一种建模环境,但模拟器是复制原始设备或系统上的用法的环境。

模拟器模仿它正在模拟的事物的活动。它“出现”(这个“出现”可以有很多,取决于上下文)与被模拟的事物相同。例如,飞行模拟器“看起来”是对用户的真实飞行,尽管它不会将您从一个地方运送到另一个地方。

另一方面,模拟器实际上“做”被模拟的东西所做的事情,并且这样做也“似乎在做同样的事情”。模拟器可以使用不同的协议集来模拟被模拟的事物,但结果/结果始终与原始对象相同。例如,EMU8086 模拟计算机上的 8086 微处理器,它显然不在 8086 上运行(= 不同的协议),但它给出的输出是真正的 8086 会给出的。


我见过的最清楚的答案。对我来说,只能通过省略额外的句子或将其整合到您出色的对比定义中来改进:-D
完全同意。更正式的说法可能是模拟器需要与模拟实体相同的接口和行为,而模拟器则不需要。它与“用作替代品”相同,但更正式地可测试。
o
outis

这是焦点的不同。模拟器1专注于重建系统的行为,而不考虑系统内部的运作方式。模拟器2专注于对系统组件进行建模。当您最关心系统的功能时,您使用模拟器,而当您关心系统如何操作时,您使用模拟器。

至于它们的一般英文含义,emulation 是“努力在品质或行动上达到或超越他人”,而simulation 是“对行为、外观或属性进行建模、复制、复制”。差别不大。模仿来自æmulus,“努力、竞争”,与“模仿”和“形象”相关,这表明表面杠杆相似。 “模拟”来自similis“喜欢”,“相似”一词也是如此,这可能暗示着更深层次的一致性。

参考:

维基百科:模拟器 维基百科:计算机模拟 维基词典:仿真 维基词典:模拟 词源在线:模拟 词源在线:模拟


你的回答和别人不一样。根据您的说法,Virtual PC 是模拟器还是模拟器?
@MikaëlMayer:许多答案与其他答案不同,只有一些相似。我认为我的答案等同于 Toybuilder 和 cdiggens 的答案(因为事物的分类方式相同),并且与 Jörg 的答案兼容。它只与 Pontus 和 Aeolai 的相反。
@MikaëlMayer Virtual PC 是一个模拟器。它可以做真正 PC 可以做的所有事情。
@Pri 请参阅此线程关于 Virtual PC 的答案。两者兼而有之,这取决于角度。例如,您仍然可以说这是一个模拟,因为它不能像真正的计算机那样加热。
感谢您回来@MikaëlMayer,但老实说,有时我们实际上无法区分系统是模拟器还是模拟器。一系列的辩论开始了。希望我是对的!很少有人根据用法、英语含义、功能性和可负担性得出差异。但是当我在我的案例研究中应用所有答案时,这并不是一件容易的事
m
mins

我不认为模拟器和模拟器可以比较。两者都模仿某些东西,但不属于同一推理范围,它们不在同一上下文中使用。

简而言之:仿真器旨在复制原始的某些功能,甚至可以在真实环境中替换它。模拟器并非旨在复制原件的特征,而只是在人类看来与原件相似。没有原版的特性,模拟器无法在真实环境中替代。

模拟器是一种设备,它可以模拟足够接近的东西,以便可以将其替换为真实的东西。例如,您希望电路像 ROM(只读存储器)电路一样工作,但还希望调整内容直到达到您想要的为止。您将使用 ROM 仿真器,一个黑匣子(可能基于 CPU),其物理和电气接口与您要仿真的 ROM 兼容。仿真器将代替真实 ROM 插入设备。主板在工作时不会看到任何差异,但您可以轻松更改仿真ROM的内容。否则,仿真器将在其主板上下文中完全按照实际情况运行(由于实际的内部模型,可能会慢一点),但在主板上下文之外,还有一些仅对设计人员可见的附加功能(如重写) .所以模拟器的定义是:模仿原始的东西,具有所有功能特征,实际上可以在现实世界中在某种程度上替换它,并且可能具有在正常上下文中不可见的其他功能。

模拟器用于另一种思维环境,例如飞机模拟器、汽车模拟器等。模拟只关注实际事物的某些方面,通常与人类如何感知和控制它有关。模拟器不会执行实物的功能,也不能代替它。飞机模拟器不会飞或载人,这根本不是它的目的。模拟器的目的不是为了工作,而是为了让飞行员看起来像真实的东西,而不是正常的目的,例如允许地面训练(包括在不寻常的情况下,如全引擎故障)。所以模拟器的定义是:在某种程度上,可以在人类看来,就像原来的一样,但不能替代它以供实际使用。另外飞行员会知道模拟器是模拟器。

我认为我们不会看到任何 ROM 模拟器,因为 ROM 不与人类交互,我们也不会看到任何平面模拟器,因为在现实世界中,飞机无法替代执行相同的功能。

在我看来,模拟器或模拟器中的模型可以是任何东西,并且不必与原始模型相似。 ROM 模拟器模型可能是软件而不是硬件,MS Flight Simulator 不能比它更多的软件。

这两个术语的比较将与当前选择的答案(来自Toybuilder)相矛盾,这将差异放在内部模型上,而我的建议是差异在于假货是否可以或不能用于在现实世界中执行实际功能(实际上,在某种公认的范围内)。

请注意,飞机模拟器还必须模拟不属于飞机的地球、太阳、风等,因此飞机模拟器必须模拟飞机的某些方面,以及飞机的环境。因为它不是在这个实际环境中使用的,而是在训练室中使用的。

这与只模拟原版的模拟器有很大的不同,它的目的是在原版的环境中使用,无需模拟它。回到飞机环境……什么是飞机模拟器?也许是一列连接两个机场的火车——实际上是两个飞机台阶——载着乘客,车上有空姐,车内看起来像一个真正的飞机客舱,机长说“女士们,先生们,我们的海拔高度是 10 公里,气温在我们的目的地是 24°C”。它的好处很难看到,哼……

总而言之,模拟器是真实的,旨在工作,模拟器是假的,旨在欺骗用户。


“ROM 模拟器”这句话让我想起了虚拟视频游戏机。
पवन

要了解模拟器和模拟器之间的区别,请记住模拟器试图模仿真实设备的行为。例如,在 iOS 模拟器的情况下,它模拟了实际 iPhone/iPad 设备的真实行为。然而,模拟器本身使用安装在 Mac 上的各种库(例如 QuickTime)来执行其渲染,因此效果看起来与实际 iPhone 相同。此外,在模拟器上测试的应用程序被编译成 x86 代码,这是模拟器可以理解的字节码。相反,真正的 iPhone 设备使用基于 ARM 的代码。

相反,模拟器模拟真实设备的工作。在模拟器上测试的应用程序被编译成真实设备使用的实际字节码。模拟器通过将字节码翻译成可以由运行模拟器的主机执行的形式来执行应用程序。

要了解模拟和仿真之间的细微差别,假设您正试图说服孩子玩刀是危险的。为了模拟这一点,你假装用刀割伤自己并痛苦地呻吟。为了模仿这一点,您实际上是在割伤自己。


不要在家里尝试这个孩子:D
P
Pontus Gagge

用或多或少的正常说法:如果您的软件可以做模仿系统可以做的所有事情,那么它就是一个模拟器。如果它只是近似系统(IT 或其他)的结果,它就是一个模拟器。


c
cdiggins

仿真器是系统模型,它将接受仿真系统将接受的任何有效输入,并产生相同的输出或结果。因此,您的软件是一个仿真器,前提是它精确地再现了仿真系统的行为。


谢谢。我认为这是对仿真的一个非常精确的定义。那么,例如 Wine 是一个模拟器,因为它不一定给出 Windows 中定义的相同精确输出?
小心尝试将 WINE 硬塞到模拟器或模拟器中。 WINE 是一个兼容层,它使来自一个系统的二进制文件在另一个系统的二进制 API 层上运行。你可以称它为适配器。我想模拟器也不是一个不好的理解方式,但它并不比模拟器更接近。
在这个范围内,WINE 是仿真。它具有链接 Windows 二进制文件的外观,但如果您要查看内部结构,您将不会了解任何有关 Windows 的信息。
J
Jörg W Mittag

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

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

我的意思是当你不能使用真实的东西时你使用模拟器,当你不能使用真实的东西并且想要找到关于它的东西时你使用模拟器。


V
Vishnu Vivek

简单的解释。

如果您想将您的 PC(运行 Windows)转换为 Mac,您可以执行以下任一操作:

(1) 您可以简单地在您的 Windows 上安装一个 Mac 主题。因此,您的 PC 感觉更像 Mac,但您实际上无法运行任何 Mac 程序。 (模拟)

(或者)

(2) 您可以对 PC 进行编程,使其像 Mac 一样运行(我不确定这是否可行:P)。现在,您甚至可以成功运行 Mac 程序并期待与 Mac 上相同的输出。 (仿真)

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


这既简单又完全错误。 (2)接近仿真,但(1)既不是仿真也不是模拟。
H
Hamad

模拟器:类似于解释器。即它实际上逐行执行真实代码以模仿行为

模拟器:它是类似的可执行文件。即它需要编译的代码并执行它。


r
ronalchn

模拟器是真实系统的替代品,但模拟器用于优化、理解和估计真实系统。


D
DIXON THANKACHAN

模拟是一个行为类似于其他事物的系统,但以完全不同的方式实现。它提供了系统的基本行为,但不一定遵守被模拟系统的所有规则。它可以让您了解某些东西是如何工作的。

仿真是一个行为与其他系统完全一样的系统,并且遵守被仿真系统的所有规则。它实际上是另一个系统的完整复制,一直到与仿真系统的输入和输出二进制兼容,但在与原始仿真系统环境不同的环境中运行。规则是固定的,不能更改或系统失败。


T
Tino

这两个术语是完全不同的东西,只有很少相交。找到正确的术语实际上很容易,只需考虑以下内容:

模拟并没有真正做任何事情。您可以研究它,例如计算机如何工作,但除此之外通常没有其他结果。飞行模拟器中的飞机失事不会造成真正的伤害。天气预报模拟本身不会改变天气。

仿真确实可以做一些事情。您可以像使用物理计算机一样使用模拟计算机并使用它创建文档。飞行模拟器中的飞机失事会产生结果,就像人们经历真正的影响,包括可能的身体伤害一样。

您的困惑可能源于这样一个事实,即“研究模拟”和“访问模拟”通常是完全相同的事情。

你并不孤单。电影“黑客帝国”谈到了模拟。然而,黑客帝国正在运行仿真,因为它对黑客帝国的所有成员都有真正的影响。相比之下,训练室没有真正的影响,所以这是一个模拟(黑客帝国)。

让我们看一些例子。

模拟与模拟雨

在花园里取一根水管,让它下雨。这里的模拟和仿真有什么区别?

当你模拟下雨时,人们仍然会责怪你淋湿。你的雨对世界有一些真正的影响,但你的模拟没有,因为模拟不会欺骗任何人,因为它是真正的雨。

相反,当你模拟下雨时,人们会责怪天气。也就是说,您模拟的雨在现实中的表现确实像雨。因此,这种降雨模拟扭曲了现实,使人们相信了错误的罪魁祸首。

我花了很长时间才明白这一点。因此,解释所有混乱并不容易也不明显。

请记住,模拟可能会产生副作用,例如天气预报是基于模拟的,这需要相当多的计算能力和电能,这会对环境产生影响。

因此,在“模拟下雨”的示例中,人们被淋湿只是一种副作用,而不是模拟的一部分。如果你用这个模拟的雨来模拟彩虹,情况也是如此。虽然“彩虹如何工作”的属性是该模拟的一部分,但模拟本身并没有提供彩虹,这只是由于太阳对水滴的副作用的折射而发生的。

模拟与模拟计算机

尽管您可能认为“模拟计算机可以产生结果”,但这实际上是错误的推理。如果将文件保存到模拟硬盘驱动器上,这些文件不能将模拟驱动器留在模拟之外。您可以通过研究模拟驱动器来获取文件,但这不是模拟本身的一部分。

如果硬盘驱动器保存数据,即数据实际上可以在模拟之外使用,那么您在模拟中有一个模拟的硬盘驱动器来执行此操作。

因此,仿真可以是仿真的一部分,反之亦然。

模拟与模拟文件系统

如果您模拟文件系统,出于实用性考虑,您可能会选择将文件按原样保存到您的真实文件系统中(可能带有一些额外的元信息)。在这种情况下,模拟似乎在模拟之外创造了真正的“价值”:可用的文件!

但这只是巧合,因为您的模拟文件系统实际上也模拟了一个文件系统。您实际上在模拟中模拟了外部文件系统!

模拟与模拟 TPM 或 HSM

一个很好的例子就是当你想到安全性时。 A TPM is a specific device to keep it's own keys secure (source of identity) while an HSM is a general device to secure foreign keys (verify identity)

有趣的事实:我的手指经常输入 TMP 而不是 TPM。

如果您模拟 TPM,这会对安全性产生巨大影响,因为您可以观察 TPM 的内部状态。这使所有安全性无效。即使这样的模拟可以为您提供改进 TPM 本身设计的宝贵提示,您也不希望将宝贵的数据真实地暴露给模拟的 TPM。

但是,如果您模拟 TPM,您将尝试将这些内部状态尽可能地隐藏到外部。这样一个模拟的 TPM 可以用来真正保护其他东西,而不是没有它。

使用真实的 TPM,您无法模拟真实 HSM 的属性。您可以存档的只是模拟 HSM,但这不具有真实 HSM 的安全属性,因此存储在此模拟 HSM 中的所有数据都不会受到保护(它们只会在模拟本身内受到保护)。

相比之下,使用真实的 HSM,您可以模拟具有真实 TPM 的所有属性的 TPM。为此,需要构建 HSM,使得没有信息需要离开 HSM,而 HSM 也不会离开 TPM。

(请注意,我对 HSM 或 TPM 特别一无所知,因此可能没有 HSM 能够提供模拟的 TPM。)

模拟与模拟世界

如果我们的世界是模拟的,那么我们也是模拟的。因此,一些观众(我们称她为上帝)可以随时看着我们并改变模拟。我们也无法确定我们是否被模拟。因为我很确定我知道我是,我不认为我是模拟的,因为对我来说,自我意识看起来像是一种具有真实成分的效果,这与模拟相矛盾。这也意味着,我们的世界也不能是一个模拟,因为模拟只能像世界一样影响我,如果我是模拟的一部分。

但是我们的世界仍然可以被模仿(就像在电影“黑客帝国”中一样),因为我要“证明世界”的只是我的心态和感官输入,我无法验证,因为我无法离开自己。如果我不是模拟的一部分,那么应该有机会观察不连续性(就像在电影“黑客帝国”中一样),以防模拟无法完美运行。

当我模拟时,这种情况也会发生变化,就像在模拟器中运行操作系统一样。然后我无法观察到此类错误,因为我的状态可以从仿真中重置(称之为:睡眠)而不会出现明显的中断。

然而,我宁愿认为这个世界是一个全息幻觉,而不是一种模拟。因为如果它是仿真的,那么我就会被某个出于某种目的运行仿真的人(称他为 Rick)所控制,而幻觉纯粹是我自己的事情。

我停在这里,因为幻觉将我们引向完全不同的事物。


自我意识如何与模拟相矛盾,你是粒子发展成生命形式的结果
@spO_oks 我唯一可以确定的是,我是真实的。因为我是。其他一切都可能只是幻觉。 (即我无法证明你是真实的,也无法证明除了我之外还有其他任何东西。只是常识,在我之外一定有一个类似于世界的东西,而不是我,因为这是最合理的假设,相反假设,除了我没有别的东西,这让事情变得有点徒劳。)根据定义,模拟不能改变任何真实的东西,但我改变了,因此生活是一个模拟与我是的事实相矛盾。
Z
Zaid

这个问题可能最好通过查看历史实践来回答。

过去,我曾在 PC 上看到用于 PlayStation 和 SEGA 的游戏机模拟器。

当提到试图模仿现实生活中的行为(例如驾驶或飞行)的软件时,模拟器是司空见惯的。 Gran Turismo 和 Microsoft Flight Simulator 是模拟器的经典示例。

至于语言差异,模仿通常是指模仿某人(或某物)值得称赞的特征或行为的行为。模仿不同于模仿,模仿是为了嘲弄而复制一个人。

动词“模拟”的语言意义本质上是假装或模仿某人或某事。


N
NoMoreZealots

这两个术语之间的区别有点模糊。来自一个“模拟器”是允许您调试嵌入式系统的硬件的世界。请记住那些允许您拥有 ICE(电路内仿真)功能来调试 PC 平台的产品,我发现使用“仿真”一词对于模拟硬件行为的软件来说有点用词不当。

我目前使用该术语的理由是仿真是它可以“增强”功能,并且只关注系统行为的“合理”近似。

ICE:(在电路仿真中)插入电路板以代替实际处理器的硬件。它允许您像实际处理器一样运行系统。通常,这些处理器上有一个变体,以实际执行具有胶合逻辑的软件,以允许用户在硬件控制下中断执行和单步操作。有些还会提供日志记录功能。大多数现代处理器开发系统已将 ICE 类型的仿真替换为 JTAG 仿真,其中 JTAG 仅通过专用串行链路与处理器通信,所有执行均由安装在板上的处理器执行。

软件仿真器:0x86 仿真器只关心能够执行 0x86 汇编语言,不提供特定 0x86 处理器的每个周期的准确行为模型。博克斯就是一个例子。 QEMU 做到了这一点,但也允许使用特殊的内核模块进行“虚拟化”。

模拟器:Texas Instruments 为软件开发提供了一个 CYCLE ACCURATE 行为模型,旨在准确模拟特定处理器内核的行为,供开发人员在拥有工作硬件之前使用。

软件仿真器增强功能:BLEEM 不仅允许您运行 Playstation 软件,还允许以比 Playstation 提供的更高的分辨率输出显示,并且还利用了可用的 GPU 的更高级功能。 (即更好地混合和平滑纹理。)


A
Aeolai

在计算机科学中,模拟和仿真都从相同的输入产生与原始系统相同的输出;但是,仿真也使用相同的过程来实现它,并且是由相同的材料制成的。模拟使用与原始系统不同的过程。同样值得注意的是术语复制,它是两者的中间——使用相同的过程但由不同的材料制成。

因此,如果我想在我的 PC 上运行旧的《超级马里奥兄弟》游戏,我会使用 SNES 模拟器,因为它使用相同或相似的计算机代码(进程)来运行游戏,并使用相同或相似的材料(硅芯片) .但是,如果我想在我的 PC 上驾驶波音 747 喷气式飞机,我会使用飞行模拟器,因为它使用的过程与原来的完全不同(不涉及实际的机翼、升力或空气动力学!)。

以下是从计算机科学词汇表中获取的确切定义:

模拟是一个系统模型,它捕获系统输入和输出之间的功能连接,但不一定基于与系统本身相同或相似的过程。

复制是一种系统模型,它捕获系统输入和输出之间的功能连接,并且基于与系统本身相同或相似的过程。

仿真是一些系统的模型,它基于与该系统相同或相似的过程,并且由与该系统相同的材料构建,捕获系统的输入和输出之间的功能连接.

参考:开放大学,M366 Glossary 1.1,2007


J
Jay Elston

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

关键区别在于:

使用模拟器,您希望输出与您正在模拟的对象将产生的完全匹配。

使用模拟器,您希望输出的某些属性类似于对象将产生的属性。

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

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

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

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

术语的定义:

仿真——超越或完全匹配

模拟——在外观或性格上模仿


注意 - 这与对已标记为与此问题 (stackoverflow.com/questions/2174638/…) 重复的问题的答案非常相似。我确实添加了术语的定义(在问题中要求但尚未回答),并且还添加了一些关于模拟用途(有限元分析)的信息,而不仅仅是模仿设备。
N
None

这些词的定义最好地描述了差异。谷歌搜索给出了模拟和模拟的以下定义:

模拟模仿的外观或性格。

模仿匹配或超越(一个人或成就),通常是通过模仿。

模拟模仿系统。仿真可以很好地模拟一个系统,以至于它可以取代它,甚至可能超越它。

在计算中,仿真将是它正在仿真的系统的替代品。很多时候,它甚至会胜过它所模仿的系统。例如,游戏机模拟器通常会进行改进,例如更高的硬件兼容性、更好的性能和改进的音频/视频质量。

另一方面,模拟受到模型的限制。它们是模仿系统的最佳尝试,但不能替代它。有硬件模拟器,因为硬件可以被模仿,而且很难区分。没有 Farming Emulator,因为没有可以替代实际耕作的仿真。我们只能模拟一个耕作模型,以了解如何更好地耕作。


A
Abhinav

虚拟 PC 试图从程序员的角度模拟计算机,但同时,它从电气工程师的角度模拟计算机。


r
rook

模拟器比模拟器更广泛,似乎在上面的帖子中过度考虑了这个术语的二元性。

模拟器

当人们开始以直接的方式替换现有系统的某些硬件部分时,他们决定在“计算机世界”中使用一个新词仿真——模仿他们的行为并依靠计算性质来确保不会破坏某些东西并将一切留在等效状态。所以我们模仿了这部分! (而且整体仍然像以前一样工作)

模拟器通常在数字领域狭义地用作替代和虚拟化 - 以数字形式作为软件呈现 - 以前已知和存在的东西(虚拟芯片,电路板,电子设备)。因此,当世界变得更加数字化并将模拟器这个词带给大众时,大众给它增加了不确定性(或其他原因)。

模拟器

首先,我看到很多关于模拟器做或替换真实的东西但模拟器没有的评论。

但是飞行模拟器用于真实事物 - 它训练飞行员,为他们提供技能和知识,它取代了昂贵的真实飞机并节省了很多钱。而且我们不能只说飞机模拟器,因为我们内心感觉这远不止于此,所以我们称之为模拟器:) 飞机模拟器可以包含模拟雷达或转发器,这是真的。

相反,模拟器用于分析和研究(模拟器用于真实事物),但这种分析和研究不亚于模拟的 GSM 板(在我们生活的信息时代甚至更多)。分析为业务增加价值、降低成本或指出利润不低于替换(模拟)硬件。

模拟器类似于对我们由于某种原因(成本、技术、物理上的不可能)而无法获得的东西进行建模。它通常被模拟为新的、无形的、复杂的或我们不知道的东西,比如市场、天气、燃烧、用户。所以这里有飞行、黑洞、证券交易所、模拟。

所以最后:

模拟器比模拟器更广泛 模拟器通常倾向于模仿/建模更多全局过程/事物,具有缩小模仿范围的能力(例如,具有代表某些已知模型的预设的电容器模拟器) 模拟器倾向于模仿具有特定规格、已知特性和属性(例如 SNES 模拟器、Intel 8087 或 Roland TB-303)

至于词源

全部来自拉丁语,意思是:

emulate 是“平等”(看起来更具侵略性和直截了当 - 竞争)

模拟是“相似”(看起来更狡猾和棘手 - 模仿)


V
Vaibhav Gautam

模拟器:

考虑一个你只会英语并且你在中国的情况。为了与中国人互动,您需要翻译。现在,翻译器的作用是,它会从你那里寻找英文输入,然后转换成中文,然后把那个输入给中国人,然后得到中国人的回应,然后再转换成英文,然后用英文把输出给你。现在那个翻译和中国人就是模拟器。两者都将提供类似的功能,就好像您正在与英国人交流一样。所以硬件可能不同,但功能是相同的。

模拟器:

我不能给出比 SPICE 或飞行模拟器更好的例子。两者都将用与硬件行为相似的软件或数学模型替换硬件组件行为。

最后,这取决于哪种解决方案更适合项目需求的上下文。


t
the-a-monir

仿真就像抽象。它显示了它可以做什么。示例:汽车驾驶仿真。

模拟就像封装。它展示了它如何做示例:汽车引擎内部活动。


C
Carlos R. Caicedo R.

模拟器必然是比例模型。模拟器伪装成 1:1 模型。


这并不倾向于区分模拟器和模拟器。请相应地编辑您的答案。
正如目前所写的那样,您的答案尚不清楚。请edit添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。您可以找到有关如何写出好答案的更多信息in the help center