虽然我理解模拟和仿真的含义一般,但我几乎总是对它们感到困惑.假设我创建了一个模仿现有硬件/软件的软件,我该怎么称呼它?模拟器还是模拟器?
任何人都能解释编程方面的差异吗?
额外奖励:这两个术语的英语差异是什么?(对不起,我不是母语人士:))
我正在尝试制作股票市场模拟器(可能最终会成长为预测AI),但我无法找到要使用的数据.我正在寻找一个(希望是免费的)历史股市数据来源.
理想情况下,它将是一个非常细粒度(第二或每分钟间隔)的数据集,其中包含纳斯达克和纽约证券交易所(如果我喜欢冒险)的每个符号的价格和数量.有谁知道这些信息的来源?
我发现这个问题表明雅虎提供了CSV格式的历史数据,但我一直无法找到如何粗略地检查链接的网站.
我也不喜欢在CSV文件中逐个下载数据的想法...我想雅虎会在最初的几千个请求之后感到不安并关闭我.
我还发现了另一个让我觉得自己中了大奖的问题,但不幸的是,OpenTick网站似乎已经关门了......太糟糕了,因为我觉得它们正是我想要的.
我也可以使用每天只打开/关闭价格和每个符号的数量的数据,但如果我能得到它,我更喜欢所有的数据.还有其他建议吗?
我正在为一个提高互联网可访问性意识的基金会工作.对于演示文稿,我们希望提供一个小型研讨会,模拟人们的不同残疾/损伤.这是通过专门为此演示文稿创建的网站完成的.
其中一个显示的损伤是震颤,这意味着经历摇晃,难以控制的手部动作.由于这种损伤,当鼠标悬停在链接上时,很难准确地移动鼠标光标并按下鼠标按钮.一些老年人和患有疾病的人,例如帕金森氏症,都可能患有震颤.
现在我想以某种方式以不可预测的方式移动鼠标光标,这样人们很难点击一个小按钮.因为JavaScript不允许直接移动鼠标光标,所以我正在寻找其他方法来实现这一点.我提出了以下想法:
虽然第一个想法很酷,但我无法找到像这样的工具,无论是Mac还是Windows.我自己编程这样的东西没有任何技巧.
第二个想法似乎有点笨拙,但我认为它会达到预期的效果.
有人有另一个想法吗?
注意:这是关于在iPhone上模拟浏览器而不是模拟整个设备的问题.我知道在Windows上无法进行iPhone设备模拟,正如此处详细讨论的那样.
我有一个在iPhone上查看时看起来很奇怪的网站 - 它的某种CSS问题.
当我在Safari for Windows(或任何其他Windows浏览器)中查看该站点时,不会发生同样的问题.
那么,有没有在Windows上运行的好的iPhone 浏览器模拟器?即以与iPhone浏览器相同的方式呈现网站.
如果有一些方法可以详细检查CSS,就像使用Chrome的"检查元素"开发人员功能一样,可以获得奖励积分.
编辑:对于好奇,我试图解决的渲染问题在这里描述: CSS背景图像在iPhone上呈现不同
我希望使用网络摄像头在Android模拟器中模拟相机.基本上我只需要在模拟器中用相机拍照(不需要实时预览,即如果它更容易)
但是该教程中使用的许多库(如android.hardware.CameraDevice)在当前的sdk中不可用,并被新库(如android.hardware.camera)取代.
任何有关如何在当前sdk(2.1或2.2)中执行此操作的帮助将非常感激.
目前我必须测试应用程序并在真正的IOS 7设备上设置不同的假GPS位置.在Android上我使用"我的假位置".不幸的是,我没有为IOS 7找到相同的应用程序.有什么想法可以解决我的问题吗?
我正在做一个简单的学习模拟,屏幕上有多个生物.他们应该学习如何吃,使用他们简单的神经网络.它们有4个神经元,每个神经元激活一个方向的运动(从鸟的视角看是一个2D平面,因此只有四个方向,因此需要四个输出).他们唯一的输入是四只"眼睛".当时只有一只眼睛可以活动,它基本上用作指向最近物体(绿色食物块或其他生物体)的指针.
因此,网络可以这样想象:

有机体看起来像这样(在理论和实际模拟中,它们真的是红色的块,它们的眼睛围着它们):

这就是它的样子(这是一个老版本,眼睛仍然不起作用,但它是相似的):

现在我已经描述了我的一般想法,让我了解问题的核心......
初始化 | 首先,我创造了一些生物和食物.然后,将其神经网络中的所有16个权重设置为随机值,如下所示:weight = random.random()*threshold*2.阈值是一个全局值,描述每个神经元需要获得多少输入才能激活("激活").通常设置为1.
学习 | 默认情况下,神经网络中的权重每步降低1%.但是,如果某些有机体实际上设法吃东西,那么最后一个有效输入和输出之间的联系就会得到加强.
但是,有一个大问题.我认为这不是一个好方法,因为他们实际上并没有学到任何东西!只有那些随机设定为有益的初始体重的人才会有机会吃东西,然后只有他们的体重会增强!那些与他们的关系设置得很糟糕的人呢?他们只会死,不会学习.
我该如何避免这种情况?想到的唯一解决方案是随机增加/减少权重,这样最终有人会得到正确的配置,并偶然吃掉一些东西.但我觉得这个解决方案非常粗糙和丑陋.你有什么想法?
编辑: 谢谢你的答案!其中每一个都非常有用,有些只是更相关.我决定使用以下方法:
python simulation artificial-intelligence machine-learning neural-network
我在网上看过,讨论/例子似乎是传统的软件开发.由于Verilog和VHDL(用于芯片设计,例如FPGA和ASIC)类似于软件开发C和C++,因此它似乎是有意义的.但是,它们之间存在一些差异,这些差异基本上是并行的,需要硬件才能进
你有什么经历,无论好坏?您可以在此特定应用程序上建议的任何链接?
编辑/澄清:2009年10月28日:我特别询问TDD.我熟悉测试台,包括自检台.我也知道SystemVerilog具有测试平台的一些特殊功能.
10/28/09:隐含的问题包括:1)为任何功能编写测试,从不使用波形进行模拟,2)首先编写测试/测试平台.
11/29/09:在实证研究中显示测试驱动开发提高了他们为(软件)TDD报告的质量 "四种产品的预发布缺陷密度,以每千行代码的缺陷来衡量,在40%到90%之间下降相对于未使用TDD的项目.团队管理层主动报告使用TDD的团队的初始开发时间增加了15-35%,尽管团队同意这可以通过降低维护成本来抵消.减少的错误降低了流片带来的风险,但却以适度的时间表影响为代价. 这也有一些数据.
11/29/09:我主要做控制和数据路径代码,而不是DSP代码.对于DSP,典型的解决方案涉及Matlab位精确仿真.
03/02/10:TDD的优势在于确保测试首先失败.我想这也可以用断言来完成.