以下回答,只讨论科学计算的环境,matlab最出彩的地方是他的sim而不是calc
从时间成本上回答你:
先看结论:如果你的matlab足够熟练,你并不是从0开始学python,python科学计算的学习成本几乎为0(这完全取决于你在matlab中对科学计算的熟练程度),只是刚开始会遇到一些问题。python运行即使需要安装环境也不是一个差不多15G的Matlab安装包。所以,建议用Python
Matlab我用了差不多4年了,可以说是比较熟练了,最近接触了python,我学python的方法就是把我matlab的代码翻译成python,4000行的程序我用了三天。翻译方法就是复制,然后改(真的就是这么粗暴)。让我感受明显的部分是:numpy库的矩阵切片和matlab有很大区别,这部分是最花功夫的。第二花功夫的就是要注意ndarray的数组形状,刚刚开始翻译的时候,这也是一个问题。比如。shape=[4,1],shape=[1,4],shape=[4]是完全不同的,但是在matlab里就只有行向量和列向量的区别。另外:最近用了python才发现matlab的矩阵索引有多么让人迷惑,A(a),你以为这是在索引一个矩阵?不,他有可能是一个函数。而python(包括其他我会的语言:如C)函数用(),数组用[],我在matlab中变量命名一般是:XXXmat或者XXXfcn来区分矩阵和函数,但一些小项目,我就开始瞎搞,如果不写备注,过几天自己都看不懂了~
神经网络,机器学习我会用python,matlab主要就被我用来做数据处理(之前很多码的数据,都是matlab写的function)
做一些特别特别复杂的optimization,我还是会用matlab,然后搭配一些工具箱或求解器(虽然python也能调用这些求解器)