MATLAB语⾔与C语⾔的区别(转载)
MatLab的底层是C写的,C的效率⽐MatLab⾼多了,但MatLab语法简单多了,⽽且简单,但执⾏效率不⾼  MATLAB是⽤于特定的⽅⾯的,⽐如说矩阵运算⽅⾯、DSP就很有优势,⽽C语⾔不同,很多软件的底层都是C编写的
matlab提供的是⼀种基于解释的语⾔,虽然也是⼀种⾼级语⾔,但是还是很简单的,它的⽬标在于⽤户⽅便,开发简单。⽽实际上这些⽅便也是有代价的,编译器承受了这些代价,程序执⾏效率⽅⾯也有损失。另⼀⽅⾯matlab这么做也是基于其专⽤于科学计算的⽬的来考虑的,⽆法应⽤于通⽤的程序设计。c语⾔这么做保持了其编译的速度,便于⼤型程序设计,执⾏效率也很⾼,如os等百万⾏以上的代码。同时c语⾔来做很多计算以外的应⽤环境,如逻辑判断,I/o操作等嵌⼊式应⽤,如matlab编译器。。。显然基于向量的计算优化,对于这些应⽤反⽽是负担。当然还有别的原因,我暂时还想不完整,但是这些已经⾜够说明了两者的不同啦。⼀句话,应⽤的范围、⽬的不同,语⾔的设计也当然风格迥异了。
matlab是⼀种解释性语⾔,集成化,专门⽤于和数学相关的⼯程计算,数值运算matlab是很简便强⼤,⽤起来很⽅便,⽐如:求数组A 的最⼤值的程序如下: A=[1 2 3 4 5 6];%把值赋给A max(A)%求最⼤值结果就出来了⽽C语⾔就⿇烦的多  C语⾔是⾯向对象的基础语⾔。更多的⽤于底层函数开发,软件开发,单⽚机控制等,matlab能做的C语⾔肯定能做,但是⼀般要⿇烦的多,⽽C语⾔能做的
matlab不⼀定能做。形式上最容易发现的区别是,matlab是⼀句⼀句编译的,⽽c语⾔是对⼀个完整的代码段进⾏编译的,并且c中有头⽂件(#include(...)),⽽matlab中没有,对于数值运算matlab是很简便强⼤的,c就有点繁琐,对于算法要求c相对更⾼点。。。
matlab主要优势是集成了强⼤的数学计算功能,对⼤规模数据的计算精度和效率可以保证。matlab中集成了很多数学计算函数,能很⽅便的调⽤,⽽c语⾔,你⼀定知道,任何⼀个算法都需要⾃⼰设计,并调试,以保证程序能正确执⾏。
编写c语言的软件matlab优势在于⼤规模矩阵运算,解常微分、偏微分⽅程,包括图像识别,⼈⼯智能,滤波等等,可以说,matlab是⼀个专业的数学软件,⼀个⾼效的专业⼯具。⼀句话概括,matlab集成了很多数学计算功能,专注于数学计算领域,⽽c语⾔,是⼀个更⼤众化的程序平台。      matlab是解释型脚本,c语⾔是编译执⾏的语⾔,简单说matlab的解释程序是看⼀句代码执⾏⼀次,⽽C语⾔的编译器必须编译好源⽂件⽣成⽬标代码,再执⾏整个⽬标代码。  matlab底层是C/C++实现的。.m⽂件可以使⽤matlab内置的mcc命令编译成exe⽂件。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。