本人不适合回答这个问题但一直有人邀请回答类似问题,虽然不合适直接讲谁该替代谁,其实都有人用也不存在普遍意义上如何替代的问题,萝卜白菜各有所爱而已。
但我要说的是,Python和R是两门编程语言,而MATLAB虽然有对应的语言,但实质上它是一个软件工具。你也许要说Python也有很多工具,甚至有人打包好了可以拿来用,但如果拿Python和MATLAB的生态环境来说,还是有区别的,最本质的还是开源和商业软件之间的那种区别。
比方说,商业软件在基础的科学计算功能之外,会很注重工程化的问题,这包括是否稳定可靠,结果是否值得信赖,使用起来是否能有效提升工作效率,在解决各种工程问题时是否有可供参考的示例以及可读性很强的技术文档,在遇到困难时是否有强大的技术支撑等等。
有回答者提到,MATLAB对并行计算和GPU加速的支持非常好用,一个parfor和一个gpuArray就都解决了,这就是很好的例子。
其实还有现实的情景你一定会愿意用商业工具来解决,譬如在Tesla工作的一位博士曾经提到,做数据分析很重要的工作是数据预处理,包括数据清洗和特征提取,数据标注等耗时耗力的工作,这部分工作在他读博士的时候只占用他很小一部分时间,但在特斯拉他大部分时间都得拿来做数据预处理,这使得他必须考虑工具的效率而不是用哪门语言。他选择用MATLAB,因为MATLAB不仅直接提供很多APP来提高效率,而且在MATLAB他可以轻易定制APP来进一步提高效率,尤其是在团队中使用甚至做成标准化的应用来拓展到整个企业范围内使用。这种时候,要占用的那点硬盘空间完全不在考虑范围内(其实在企业级部署方面,MATLAB提供了Production Server和Web App Server来实现集中部署,使得使用者可以免除本地部署,只是知道的人还不够多而已)。
还有很多鲜活的例子,就不一一说了。有兴趣大家可以自己去MathWorks网站了解