0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于MATLAB和c语言的区别分析对比

GReq_mcu168 2018-01-08 08:31 次阅读

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB和MathemaTIca、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB功能特性:

数值分析

数值和符号计算

工程与科学绘图

控制系统的设计与仿真

数字图像处理

数字信号处理

通讯系统设计与仿真

财务与金融工程

MATLAB应用:

MATLAB产品族可以用来进行以下各种工作:

●数值分析

●数值和符号计算

●工程与科学绘图

●控制系统的设计与仿真

●数字图像处理技术

●数字信号处理技术MATLAB在通讯系统设计与仿真的应用

●通讯系统设计与仿真

●财务与金融工程

●管理与调度优化计算(运筹学)

MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB 环境,以解决这些应用领域内特定类型的问题。

二、C语言简介

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

C语言基本特性:

1、高级语言:它是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元

2、结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

3、代码级别的跨平台:由于标准的存在,使得几乎同样的C代码可用于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要进行硬件操作的场合,优于其它高级语言。

4、使用指针:可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。Java则吸取了C++的教训,取消了指针操作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C。一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。

特有特点:

C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。

C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。

不同的变量类型可以用结构体(struct)组合在一起。

只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。

部份的变量类型可以转换,例如整型和字符型变量。

通过指针(pointer),C语言可以容易的对存储器进行低级控制。

预编译处理(preprocessor)让C语言的编译更具有弹性。

三、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语言,你一定知道,任何一个算法都需要自己设计,并调试,以保证程序能正确执行。

matlab优势在于大规模矩阵运算,解常微分、偏微分方程,包括图像识别,人工智能,滤波等等,可以说,matlab是一个专业的数学软件,一个高效的专业工具。 一句话概括,matlab集成了很多数学计算功能,专注于数学计算领域,而c语言,是一个更大众化的程序平台。

matlab是解释型脚本,c语言是编译执行的语言,简单说matlab的解释程序是看一句代码执行一次,而C语言的编译器必须编译好源文件生成目标代码,再执行整个目标代码。 matlab底层是C/C++实现的。.m文件可以使用matlab内置的mcc命令编译成exe文件。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • matlab
    +关注

    关注

    175

    文章

    2922

    浏览量

    228429
  • C语言
    +关注

    关注

    180

    文章

    7527

    浏览量

    128208

原文标题:matlab和c语言的区别

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    MATLAB语言与控制系统仿真

    MATLAB用户。对MATLAB与FORTRAN、C语言结合的描述更是所有MATLAB书籍中少有的一大特色。 本书适合作为理工科高等院校研
    发表于 06-19 12:44

    DSP C语言与主机C语言的主要区别

    DSP C语言与主机C语言的主要区别1)DSP的C语言
    发表于 11-03 15:14

    matlabc语言区别

    、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB 环境,以解决这些应用领域内特定类型的问题。二、C
    发表于 01-07 15:07

    Matlab与R语言区别

    建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等
    发表于 05-03 10:18

    MATLAB语言C语言区别

    ,软件开发,单片机控制等。MATLAB能做的C语言肯定能做,但是一般要麻烦的多,而C语言能做的MATLA
    发表于 11-30 16:19

    MCS的C语言和标准C语言区别

    MCS的C语言和标准C语言区别MC9S12的C语言
    发表于 07-20 07:06

    嵌入式C语言C语言区别

    嵌入式C语言C语言区别:最常用的系统编程语言C
    发表于 10-27 06:52

    ARM/DSP/FPGA的区别是什么?对比分析哪个好?

    ARM/DSP/FPGA的区别是什么?对比分析哪个好?
    发表于 11-05 06:08

    MATLAB语言的特点是什么

    2 对于AC/DC/AC电源以及死区特性的MATLAB建模MATLAB是高级的数学分析与运算软件,可用作动态系统的建模与仿真,MATLAB语言
    发表于 12-28 07:02

    MATLAB语言在异步电机仿真分析中的应用

    本文应用MATLAB/Simulink 模块库或直接应用MATLAB 语句进行软件编程,对异步电机的稳态及动态特性进行了仿真分析,表明MATLAB
    发表于 09-02 10:35 81次下载

    MATLAB语言程序设计

    MATLAB语言程序设计6.1  MATLAB语言的函数的基本结构6.2 全局、局部变量、子函数与私有目录6.3  MATLAB
    发表于 09-03 12:20 0次下载

    matlab和c语言区别

      matlab和c语言目前已经得到广泛的运用,但是在生活当中人们容易把两者弄混淆,今天我们就来看看它们两者之间的区别
    发表于 11-20 16:05 3.4w次阅读

    r语言matlab有什么区别

    做数据分析、科学计算等离不开工具、语言的使用,目前最流行的数据语言,无非是MATLAB,R语言,Python这三种
    发表于 01-05 15:56 4.5w次阅读

    MATLAB教程之MATLAB语言的基础知识及入门

    本文档的主要内容详细介绍的是MATLAB教程之MATLAB语言的基础知识及入门主要内容包括了:1.MATLAB的发展历程和影响,2.MATLAB
    发表于 01-04 14:55 0次下载
    <b class='flag-5'>MATLAB</b>教程之<b class='flag-5'>MATLAB</b><b class='flag-5'>语言</b>的基础知识及入门

    MATLAB语言与C语言区别资料下载

    电子发烧友网为你提供MATLAB语言与C语言区别资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到
    发表于 04-01 08:40 8次下载
    <b class='flag-5'>MATLAB</b><b class='flag-5'>语言</b>与C<b class='flag-5'>语言</b>的<b class='flag-5'>区别</b>资料下载