我最近被要求为一门类(class)学习一些 MATLAB 基础知识。
是什么让研究人员和在大学工作的人如此酷炫? 我发现使用矩阵和绘图很酷……(使用一些库可以在 Python 中轻松完成的事情)。
写一个函数或者解析一个文件是很痛苦的。我还处于起步阶段,我错过了什么?
在“真实”世界中,我应该将其用于什么用途?什么时候能比 Python 做得更好?为了更好,我的意思是:编写表演的简单方法。
更新 1: 我最想知道的一件事是“我错过了什么吗?” :D
更新 2:感谢您的回答。我的问题不是关于购买或不购买 MATLAB。大学可以免费给我一份旧版本的 MATLAB(我猜是 MATLAB 5)的副本,而不会破坏许可证。我对它的功能很感兴趣,如果它值得深入研究(我只需要 basic MATLAB 就可以通过考试了:P)它确实比 Python 更好现实世界中的特定任务。
最佳答案
亚当只说对了一部分。许多(如果不是大多数)数学家永远不会碰它。如果有使用过的计算机工具,它将类似于 Mathematica或 Maple .另一方面,工程部门经常依赖它,对于一些应用数学家来说肯定有一些有用的东西。它还在某些领域的工业中大量使用。
关于 MATLAB,您必须了解的是,它最初是作为 Fortran 上的包装器的。线性代数库。长期以来,它有一种态度,即“整个世界都是一堆 double (花车)”。作为一门语言,它已经非常有机地成长,如果你把它当作一门编程语言来看待的话,它也有一些非常根深蒂固的缺陷。
但是,如果您将其视为进行某些类型研究的环境,它具有一些真正的优势。它与做浮点线性代数一样好。该符号简单而强大,实现快速且值得信赖。它非常擅长生成情节和其他交互式任务。有大量的“工具箱”为特定任务提供了很好的代码,而且价格实惠。有一个庞大的用户社区共享数字代码(Python + NumPy 至少在同一联盟中没有任何东西)
Python 是一种更好的编程语言(就像许多其他语言一样)。但是,就工具而言,它落后了十年左右。
关键是大多数使用 MATLAB 的人并不是真正的程序员,也不想成为程序员。
对于通用编程语言来说,这是一个糟糕的选择;它很古怪,对于许多任务来说很慢(你需要对事物进行矢量化以获得高效的代码),并且不容易与外界集成。另一方面,对于它擅长的事情,它是非常非常好的。很少有东西比较。有一家公司有合理的支持,谁知道投入了多少人年。这在行业中很重要。
严格查看您的 Python 与 MATLAB 比较,它们大多是针对不同工作的不同工具。在它们确实有些重叠的领域,很难说更好的路线是什么(很大程度上取决于你想要做什么)。但大多数情况下,Python 并不擅长 MATLAB 的核心优势,反之亦然。
关于python - MATLAB 有什么用?为什么大学如此使用它?什么时候比 Python 更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/179904/