MATLAB有什么用?为什么大学如此使用它?什么时候它比Python更好?

MATLAB有什么用?为什么大学如此使用它?什么时候它比Python更好?,python,matlab,Python,Matlab,我最近被要求为一堂课学习一些MATLAB基础知识 是什么让研究人员和在大学工作的人觉得如此酷? 我发现使用矩阵和绘图很酷。。。(在Python中使用一些库可以轻松完成的事情) 编写函数或解析文件都很痛苦。我还处于起步阶段,我错过了什么 在“真实”的世界里,我该怎么用它呢?什么时候它能比Python做得更好?为了更好,我的意思是:写东西的简单方法 更新1:我最想知道的一件事是“我错过了什么吗?”:d 更新2:感谢您的回答。我的问题不是买不买MATLAB。这所大学有可能免费给我一份旧版本的MATL

我最近被要求为一堂课学习一些MATLAB基础知识

是什么让研究人员和在大学工作的人觉得如此酷? 我发现使用矩阵和绘图很酷。。。(在Python中使用一些库可以轻松完成的事情)

编写函数或解析文件都很痛苦。我还处于起步阶段,我错过了什么

在“真实”的世界里,我该怎么用它呢?什么时候它能比Python做得更好?为了更好,我的意思是:写东西的简单方法


更新1:我最想知道的一件事是“我错过了什么吗?”:d


更新2:感谢您的回答。我的问题不是买不买MATLAB。这所大学有可能免费给我一份旧版本的MATLAB(我想是Matlab5),而不违反许可证。我对它的功能很感兴趣,如果它值得更深入的研究(为了通过考试,我只需要基本的MATLAB:P),它在现实世界中的特定任务中会比Python好。

MATLAB非常适合做数组操作,做专门的数学函数,以及快速创建好的情节

如果我能使用大量的数组/矩阵操作,我可能只会在大型程序中使用它


你不必像在更正式的软件包中那样担心IDE,因此对于没有太多编程经验的学生来说,学习IDE更容易。

它在大学中被广泛使用的最有可能的原因是数学系的教师习惯了它,理解它,并且知道如何将它融入到他们的课程中。

之间,我认为除了@Adam Bellaire所建议的文化惯性之外,Matlab和python之间没有太大的实际区别

它在工业上有用的主要原因是构建在核心功能之上的插件。在过去几年中,几乎所有活跃的Matlab开发都集中在这些方面


不幸的是,你没有太多机会在学术环境中使用这些工具。

。从20世纪70年代末就开始了。Python是最近才出现的,使其适合于Matlab类型任务的库也是最近才出现的。人们习惯了Matlab,所以他们使用它。

正如其他人提到的,Matlab非常擅长矩阵操作,最初是作为用于线性代数的著名和库的扩展而构建的。它与Java等其他语言具有良好的接口,并且由于其良好的开发和文档库而受到工程和科学公司的青睐。从我对Python和NumPy的了解来看,虽然它们共享MATLAB的许多基本功能,但它们的库没有足够的深度和广度

就我个人而言,我使用MATLAB是因为这是我在实习期间学到的,这是我在研究生院使用的,也是我在第一份工作中使用的。我不反对Python(或任何其他语言)。我也习惯了


此外,除了gnu的@from提到的scilab之外,还有另一个免费版本叫做。

MATLAB在大学中流行的一个原因与很多东西在大学中流行的原因是一样的:有很多教授熟悉它,而且它相当健壮


我已经和很多人谈过了,他们对MATLAB的初生能力特别感兴趣,即利用GPU而不是串行工作。在研究生院使用过Python之后,我有点希望在这种情况下我能使用MATLAB。这肯定会让向量空间计算变得轻而易举。

我相信你有一个非常好的观点,这是我所在公司提出的观点。由于涉及许可成本,该公司应用matlab的能力有限。一位开发人员证明Python是一个非常合适的替代品,但它落在无知的耳朵上,因为对于那些耳朵的所有者来说

  • 公司里没有人知道Python,尽管我们很多人都想使用它
  • MatLab有一个名字,一个公司,和它背后的任务组来解决任何问题
  • 有一些(但不是很多)遗留的MatLab项目需要重新编写
  • 如果它值10000英镑(??),那一定值

    我支持你。Python是MatLab的一个很好的替代品


    我应该指出,有人告诉我,该公司可能使用了5%到10%的MatLabs功能,这是我同意原始海报的基础

    Adam只是部分正确。许多数学家(如果不是大多数的话)永远不会碰它。如果有一个计算机工具被使用的话,它将是类似或的东西。另一方面,工程部门通常依赖于它,对于一些应用数学家来说,肯定有一些有用的东西。它在某些领域的工业中也大量使用

    关于MATLAB,您必须了解的是,它最初是作为线性代数库的包装器。长期以来,它的态度是“整个世界都是一系列的双打(浮动)”。作为一种语言,它是有机地发展起来的,如果你把它当作一种编程语言来看待的话,它也有一些缺陷

    然而,如果你把它看作是一个在计算机上进行某些类型研究的环境,它有一些真正的优势。这和做浮点线性代数一样好。该符号简单且功能强大,实现速度快且可信。它非常擅长生成绘图和其他交互任务。有大量的“工具箱”具有用于特定任务的良好代码,而且价格合理。有一个共享数字代码的大型用户社区(至少Python+在同一个联盟中没有任何用户)
    gpuX = gpuarray(X); 
    %%% code normally and everything is done on GPU
    
    parfor n=1:100
    %%% code normally and everything is multi-threaded