一、MATLAB简介
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相对更高点。