matlab提供的是一种基于解释的语言,虽然也是一种高级语言,但是还是很简单的,它的目标在于用户方便,开发简单。而实际上这些方便也是有代价的,编译器承受了这些代价,程序执行效率方面也有损失。另一方面matlab这么做也是基于其专用于科学计算的目的来考虑的,无法应用于通用的程序设计。c语言这么做保持了其编译的速度,便于大型程序设计,执行效率也很高,如os等百万行以上的代码。同时c语言来做很多计算以外的应用环境,如逻辑判断,I/o操作等嵌入式应用,如matlab编译器。。。
显然基于向量的计算优化,对于这些应用反而是负担。当然还有别的原因,我暂时还想不完整,但是这些已经足够说明了两者的不同啦。一句话,应用的范围、目的不同,语言的设计也当然风格迥异了。
因为C和MATLAB的编译系统不一样。每种语言都有自己的语法规则。
就好比你说1你可以看懂是数字,但是为什么我们的字典里只有“一”没有“1”呢?
C的算法效率比MATLAB高很多,matlab对矩阵的优化非常有优势
MATLAB是用于特定的方面的,比如说矩阵运算方面、DSP就很有优势,而C语言不同,很多软件的底层都是C编写的
MatLab的底层是C写的,C的效率比MatLab高多了,但MatLab语法简单多了,而且简单,但执行效率不高