MATLAB与C语言的异同_第1页
MATLAB与C语言的异同_第2页
MATLAB与C语言的异同_第3页
MATLAB与C语言的异同_第4页
MATLAB与C语言的异同_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MATLAB与C语言的异同MATLAB是一种科学计算软件,也是当今最优秀的科技应用软件之一,专门 以矩阵的形式处理数据。它以强大的科学计算和可视化功能,简单易用、开放 式可扩展环境,特别是所附带的三十多种面向不同领域的工具箱支持,使得它 在许多科学领域成为计算机辅助设计和分析、算法研究和应用开发的基本工具 和首选平台。它作为一种计算工具和科技资源,可以扩大科学研究的范围,提 高工程生产的效率,缩短开发周期,加快探索步伐,激发创作灵感。作为一种计算机语言,一种用于科学工程计算的高效率的高级语言,MATLAB具有其他高级语言难以比拟的一些优点:编写简单、编程效率高、易学易懂。与其他语言相比,MAT

2、LAB 的语法更简单,更贴近人的思维模式。因此, MATLAB语言也被通俗地称为 演算纸式”的科 学计算语言。在控制、通信、信号处理及科学计算等领域中,MATLAB都被广泛地应用,已经被认可为能够有效提高工作效率、改善设计手段的工具软件。而 C 语言是一种面向问题的程序设计语言,也是目前国际上流行的一种结构化的程序设计语言,语言处理程序采用的是编译程序。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因 此,它的应用范围广泛,深受广大程序设计者的欢迎。在操作系统和系统使用程序以及需要对硬件进行

3、操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系 统软件,三维,二维图形和动画。同时,它也是是数值计算的高级语言。C 语言具有如下特点:1. 简洁紧凑、灵活方便C 语言一共只有 32 个关键字 ,9 种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来, C 语言可以象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。2. 运算符丰富C的运算符包含的范围很广泛,共有种 34个运算符。C语言把括号、赋值、强制类型转换等

4、都作为运算符处理,从而使C 的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。3. 数据结构丰富C 的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、 逻辑判断功能强大。4. C语言是结构式语言结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰 ,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调

5、用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。5. C语法限制不太严格,程序设计自由度大虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较 大的自由度。6. C语言允许直接访问物理地址,可以直接对硬件进行操作因此既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作 ,而这三者是计算机最基本的工作单元,可以用来写系统软件。7. C语言程序生成代码质量高,程序执行效率高般只比汇编程序生成的目标代码效率低10c20%。8. C语言适用范围大,可移植性好C语言有一个突出的优点就是适合于多种操作系统,如DOS UNIX也适用于 多种机

6、型。虽然MATLAB与C语言都有编程的功能,但是二者在编程方面存在许多不 同的地方。数据类型MATLAB的数据类型有常量、变量、字符串、复数等,C语言则有常量、变量、标识符、整型数据、实型数据、字符型数据等。可见,C语言的数据类型的划分要比MATLAB的细致。而且,相同的数据类型在这两种语言中的定义及用 法也有所不同。在常量方面,值得一提的是,MATLAB中复数类型常量可以直接写成手写格 式,这是MATLAB与其他计算机语言的明显不同之处。 C语言的常量可以是任何 基本类型的值,就范围而言,C语言的常量范围要较 MATLAB的大。在变量方面,二者的变量名的规定有明显不同。MATLAB的变量名必

7、须是不包括空格的单个词,且区分大小写。变量名的字符数也有限制,最多不超过31个字符。变量名必须以字母打头,之后可以是任何字母、下划线或者数字。另外,许多标点符号在MATLAB中有特殊含义,变量名不允许使用。止匕外, MATLAB中还有一些默认的特殊变量,它们有确定的形式和意义,使用时应加以 注意。如:ans是用于结果的默认变量名,pi表示圆周率等。与之对比,C语言的变量名的规定就比较统一、规范。其对不同的数据类型有各自特定的变量名,如 int 代表整型变量,代表float 单精度实型变量, double 则是双精度实型变量, char是字符型变量的变量名。在字符串方面,MATLAB中的字符串是

8、由单引号括起来的简单文本,一般是 ASQI值的数值数组,以它作为字符串表达式进行显示。因为字符串是数值数 组,所以它们可以用MATLAB中所有可利用的数组操作工具进行操作。而 C语 言中的字符串常量是用一对双引号括起来的字符序列,可以由任意多个字符组 成。值得注意的是,为了能在 C语言中正确地处理字符串常量,C语言规定:“在每一个字符串的结尾都加上一个字符0 ,作为字符串的结束标志。”这样,C语言中字符串在内存中的字符个数要比实际表达式中的字符数多1个。在复数方面,MATLAB最强大的功能之一就体现在此,如前面所言, MATLAB对复数不需做特殊处理,它的复数类型常量可以直接写成手写格式。 M

9、ATLAB认识复数,并用预定义变量和作为虚数单位,而且复数的数学运算可以 写成与实数相同的形式。而对于C语言,它则无法做到,需要对复数进行特殊处理。总的来说,C语言的数据类型划分得比较细致,相比较而言,MATLAB就粗糙”一些,这与二者各自所具有的和侧重的功能有关。C语言用于编制系统程序和其他应用程序,所要处理的量范围多,数量广,故而其对数据类型必须细致划分。而MATLAB用于编程时涉及到的主要是具体的工程方面的实际问题, 接触到的量的范围相对小些,因而就可以不必划分得十分细致了。表达式在MATLAB中,书写表达式的规则和 手写算式”几乎完全相同。表达式由变 量名、运算符和函数名组成,按照与常

10、规相同的优先级从左至右执行运算。C语言的表达式分为算术表达式、赋值表达式和逗号表达式等。优先级由高到低 是:()、单目+和单目-、 * 、和%、 +和-。运算符如前面所言,C语言的运算符非常丰富,主要有算术运算符、关系运算符、逻辑运算符与按位运算符等。此外,还有一些完成特殊任务的运算符。并且, C语言中算术运算时,结果的显示类型与运算符两边的数据类型有关。如:72的结果为 3, 7.0 2.0 的结果为3.5。有些运算符对参与运算的量的数据类型还有特定要求,如求余运算只能在两个整型数据之间进行。相反的,MATLAB的运算符就比较简单。值得注意的一点是,MATLAB中用左斜杠或右斜杠分别表示“左

11、除 ”或者 “右除 ”运算。对标量而言,两者的作用没有什么区别,但对于矩阵而言,两种运算将产生不同的结果。C语言中就不存在这种情况,除法运算用左斜 杠表示。函数MATLAB的函数库是非常丰富的,有数组函数、矩阵函数、关系函数和 逻辑函数等。作为一种科学工程计算语言,其提供的数学计算函数较多。在数组计算中,针对标量的一些基本函数,如三角函数、对数函数、指数函数和复数运算函数等,都能运用于数组计算。MATLAB除了支持传统的数学运算外,还支持关 系和逻辑运算。MATLAB更突出的优点是其提供了许多工程计算中所需的一些特 殊函数,满足了科技工作者的需要。C语言提供的函数在数量上比不上 MATLAB,

12、而且一些特殊的函数没有 提供,这就使得MATLAB在诸多工程运用领域的显示了超强的功能和优势。总的来讲,MATLAB与C语言所具有的功能是不同的。C语言精于编程,而MATLAB的功能则是多方面的。可以说 C语言是一名编程的 专业选手”, MATLAB则是一个 全能人才MATLAB的基本功能如下:( 1)数学运算功能。它包括矩阵运算和数值分析算法等。( 2) 2D 和 3D 图形显示功能。( 3)交互式的高级编程语言 M 语言编程功能。( 4)工具箱函数功能。( 5)编译功能。使MATLAB能够同其他高级编程语言进行混合应用,取长补短,以提高程序的运行速率,丰富程序开发的手段。 6) Simulink仿真功能。它的建模范围广泛,提供了丰富的功能块及不同 的专业模块集合。 7) 7) Stateflow 交互式设计功能。 8) 8)自动代码生成功能。通过近一段时间的学习,我印象比较深刻的是MATLAB强大的图形绘制能力。MATLAB的图形绘制能力包括二维绘图和三维绘图两大部分。其中,二维绘图可以实现图标绘制、科学曲线绘制和各种专业数据的可视化显示。三维

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论