擅长:python、mysql、java
<p>在我的研究中,我已经使用matlab很多年了。它对线性代数很好,并且有大量编写良好的工具箱。最新的版本开始推动它向通用语言(更好的优化器、更好的对象模型、更丰富的作用域规则等)靠拢。</p>
<p>去年夏天,我有一份工作,我用Python+numpy代替了Matlab。我喜欢节奏的变化。它是一种“真正的”语言(以及所有需要的),它有一些很好的数字特性,比如广播数组。我也很喜欢伊普顿的环境。</p>
<p>以下是我对Matlab的一些偏好:</p>
<ul>
<li><i> 一致性:</i>MathWorks花费了大量精力使工具箱看起来和工作起来彼此相似。他们做得并不完美,但这是我见过的几十年来最好的代码库之一。
</li><li><i>文档:</i>我发现在numpy和/或python中找出一些东西是非常令人沮丧的,因为文档质量参差不齐:有些东西文档记录得很好,有些根本就没有。当我看到类似于Matlab的东西时,这通常是最令人沮丧的,但是却不能像Matlab那样工作。能够获取源代码是非常有价值的(公平地说,大多数的Matlab工具箱也附带了源代码)
</li><li><i>紧凑性:</i>对于我所做的工作,Matlab的语法通常更紧凑(但并不总是如此)
</li><li><i>动量:</i>我现在有太多的Matlab代码要更改
</li></ul>
<p>如果我没有这么大的现有代码库,我会认真考虑切换到Python+numpy。</p>