Matlab,R和Python功能强大,但对于我想做的一些数据挖掘工作来说,要么成本高,要么慢.我正在考虑将Javascript用于 速度,良好的可视化库,以及能够将浏览器用作接口.
我面临的第一个问题是科学编程的明显问题,如何对数据文件进行I/O操作?第二个是客户端还是服务器端?最后一个问题,我可以制作一些真正可移植的东西,即把它全部放在USB上并从中运行吗?
我花了几个星期寻找答案.Server2go似乎解决了客户端/服务器需求,我认为这意味着我可以从客户端的程序中获取数据.Server2go还允许从USB运行.我使用的数据文件通常是XML,似乎有几个javascript的javascript转换器.
然而,在看完之后,我不确定我的方法是否有意义.所以在我进一步提交之前,有关Javascript作为科学数据处理的便携式工具的任何建议/想法/指导吗?
我试图结束我对Matlab的依赖,并转向Python.我很快就会开始在代理中实现机器学习(神经网络/ SVM)(模拟船舶交通).我需要一个机器学习工具箱和一个模拟环境.
有很多ML/Python选项.剩下的挑战是模拟环境(2D或3D).
Netlogo很有意思,但似乎只能调用外部函数.它也是基于Java的.Breve似乎很完美,但似乎也是一个死项目.Pybrain提到了一些环境(PyODE?),但细节尚不清楚.
那么有没有人对具有良好Python界面的模拟/可视化环境提出一些好的建议?
我想生成一个给定长度的空数组并用一些数字填充它。生成具有四个连续数字元素的数组的一种方法是:
var x = Array.apply(null, {length: 4}).map(function(item, index){return index;})
Run Code Online (Sandbox Code Playgroud)
但当我看到时,Array.apply(null, {length: 4})我想我可以用它来代替它new Array(4),但事实并非如此。进行快速测试会产生以下结果:
>> console.log((new Array(4)))
<< [ <4 empty items> ]
>> console.log(Array.apply(null, {length: 4}))
<< [ undefined, undefined, undefined, undefined ]
Run Code Online (Sandbox Code Playgroud)
这意味着我可以.map后者但不能前者。
new Array那么Array.apply(null, {})我认为创建具有给定长度的数组对象之间有什么区别?