MATLAB编程

上传人:豆浆 文档编号:768316 上传时间:2017-05-14 格式:DOC 页数:20 大小:260KB
返回 下载 相关 举报
MATLAB编程_第1页
第1页 / 共20页
MATLAB编程_第2页
第2页 / 共20页
MATLAB编程_第3页
第3页 / 共20页
MATLAB编程_第4页
第4页 / 共20页
MATLAB编程_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《MATLAB编程》由会员分享,可在线阅读,更多相关《MATLAB编程(20页珍藏版)》请在金锄头文库上搜索。

1、第 1章 入门MATLAB的灵活性和平台独立性是通过将 MATLAB代码编译成设备独立的 P代码,然后在运行时解释 P代码来实现的。但 MATLAB是解释型语言不是编译型语言,产生的程序执行速度慢。MATLAB有两个基本的缺点:1.是解释型语言,其执行速度要比编译型语言慢得多。这个问题可以通过合理的 MATLAB结构得到缓解,也可以在发行广泛使用前编译出 MATLAB程序2.费用高MATLAB的开发环境任何一个 MATLAB程序的基本组成单元是数组。数组是一组数据值得集合,这些数据被遍上行号和列号,拥有唯一的名称。数组中的单个数据是可以通过带有小括号的数组名访问的,括号内有这个数据的行标和列标

2、,中间用逗号隔开。标量也被 MATLAB当作数组,只不过只有一行和一列。如果一个语句在一行内书写太长了,可能要另起一行接着写,这种情况需要在第一行末打上半个省略号(),再开始第二行的书写。历史命令窗口(The history command window)顺序是按逆序排列的,双击这些命令可以再次执行。启动平台(The launch pad)是一个特殊工具,为 MATLAB和其工具箱提供帮助、demo、其他相关文件和应用程序等参考资料。编辑调试器,一般用于创造 M文件或者修改已存在的 M文件,当打开或修改一个 M文件编辑调试器会被自动调用。M 文件中的评论用绿色表示,变量和数字用黑色来表示,字符

3、变量用紫色表示,语言的关键字用蓝色表示。当一个专门的命令、M 文件或函数运行时,工作区是 MATLAB所需要的所有变量和数组的集合。所有在命令窗口中执行的命令和所有在命令窗口执行的脚本文件(Script files)都会被分配一个普通的分配空间,所以它们能共享变量。MATLAB函数拥有独立的工作区,这是函数区别于脚本文件的一个重要特征。Who命令会产生一个在当前工作区内的所有变量和数组状况表一些重要命令Clc、clf、clear!的特殊作用是给计算机操作系统发送一个命令。在!后的字符会发送给计算机并且执行,和在计算机的命令行提示符中输入字符是一样的。这种特性使系统命令更容易植入 MATLAB程

4、序中。Diary命令记录在 MATLAB中运行过程中每个线程所做的事。命令格式为:diary filename,当这个命令被执行后,所有在命令窗口中的输入和输出将会被记录在 diary文件中。这是一个非常重要的工具,当 MATLAB发生错误而中断时,利用它可以重建重要的事。Diary off命令终止写入 diary文件,diary on命令重新开始写入。MATLAB搜索路径。在 MATLAB提示符后输入一个名字,那么 MATLAB在解释器将按以下顺序寻找这个名字:先查看是否是个变量名,如果是一个变量,MATLAB 将会显示出这个变量的值;然后查看是否是内建函数或命令。如果是,则执行对应的函数或

5、命令;查看是不是在当前目录下的一个 M文件,如果是,则执行对应的函数或命令;查看是不是在 MATLAB搜索路径的所有目录下的一个 M文件。如果是,则执行对应的函数或命令;注意:如果首先检测到的是变量名,且这个变量名与 MATLAB的某一个函数或命令同名,那么这个函数或命令将变得无法访问。常见错误1.如果变量与 MATLAB中的函数或命令重名,那么这个函数或命令将不能被访问;2.如果有多个函数或命令重名,那么 MATLAB将会执行在搜索路径中找到的第一个,其他的将不会被执行。3.Which命令能帮助我们找到正在执行的文件版本和它的路径。在检查文件名冲突方面非常有用。我们可以在启动平台中的路径工具

6、随时检查和修改这个路径。小结1.编辑/调试器经常用于创建和修改 M文件。它用于显示 M文件内容,内容用不同颜色显示出来。2.MATLAB用户可以通过帮助空间窗口、help 命令和 lookfor命令三种方式得到帮助。帮助空间窗口可以帮助用户访问所有 MATLAB文件设置。而 help命令是一个在命令窗口内显示帮助的方法,但需要知道所需帮助的函数名。只要MATLAB函数评论的第一评论句中的单词与搜索词相对应,那么用 lookfor命令就可找到,并显示出来。3.当用户在命令窗口键入一个命令,MATLAB 按照 MATLAB路径特殊编排而成的目录搜索这个命令。当 MATLAB执行了路径中第一个与之对

7、应的 M文件,其他拥有相同名字的 M文件将会被忽略。4.路径工具允许使用者添加、删除路径和改变在目录中的顺序。第二章 MATLAB 基础1.变量和数组MATLAB程序的基本数据单元是数组。一个数组是以行和列组织起来的数据集合,并且拥有一个数组名。数组中的单个数据是可以被访问的,访问的方法是数组名后带一个括号,括号内是这个数据对应行标和列标。标量在 MATLAB中也被当作数组来处理-被看作只有一行一列的数组。数组可以定义为向量或矩阵。向量一般来描述一维数组,而矩阵往往来描述二维或多维数组。数组的大小(size)由数组的行数和列数共同决定,行数在前。一个数组所包含数据的多少可由行数乘列数得到。数组

8、中的单个数据是可以被访问的,访问的方法是数组名后带一个括号,括号内是这个数据的行标和列标。如果数组是一个行向量或列向量,则只需要一个下标。一个 MATLAB变量是一段包含一个数组的内存区,并且拥有一个用户指定的变量名。通过适当的命令和它的变量名随时可以调用和修改它。MATLAB的变量名必须以字母开头,后面可以跟字母、数字、下划线。只有前 31个字符是有效的;如果超过了 31个字符,其余的将被忽略。如果声明两个变量,两个变量只有第 32个字符不同,则被当做同一个变量处理。当编写程序时给变量起一个有意义的名字非常重要,有意义的名字极大提高了程序的可读性和可维护性,可以用下划线(_)代替空格。在编写

9、程序的开头列出一个数据字典(data dictionary)十分重要,数据字典列举了在程序中用到的所有变量的定义。它的定义应包括本条目的所要描述的内容和它在执行时所在的单元。在 MATLAB语言中是区分字母大小的,大写字母和小写字母代表不同的东西。在每次用到一个变量时,要确保变量名的大小写的精确匹配。两个最常见的变量类型是 char型和 double型。Double 型的变量包括由 64位双精浮点构成的标量或数组,这种变量可以代表实数、虚数和复数。每个值的实部和虚部的变化范围为正负 10308,拥有 15到 16位有效数字。无论何时,你将一个数值赋值于一个变量名,那么 MATLAB将自动建立一

10、个 double型变量;char型的变量包括由 16位数值构成的标量或数组,每一个 16位数代表一个字符。这个类型经常用于字符串操作,当一个字符或字符串赋值于一个变量名时,系统会自动建立一个 char型变量。像 c语言这样的语言中,变量类型和变量在使用前必须强制声明,这种语言我们叫强类型语言。相对的 MATLAB这样的叫弱类型语言,通过简单的赋值形式就可以创建变量,变量类型取决于创建时的类型。2.MATLAB变量的初始化当变量初始化时,MATLAB 将会自动建立变量,有三种方式初始化 MATLAB中的变量:A. 用赋值语句初始化边量B. 用 input函数从键盘输入初始化边量C. 从文件读取一

11、个数据最简单的创建和初始化一个变量的方法是用赋值语句赋予变量一个或多个值。赋值语句的一般形式为:var = expression。var 是变量名,expression 可以是一个标量、一个数组或常量、其他变量和数学运算符号的联合。这个表达式的值是通过一般的数学运算法则计算出来的,然后将产生的结果存储到变量var中。如果在赋值语句执行时变量已经存在,那么这个变量原有的值将被覆盖。数据数组也可以初始化变量,我们可以用和分号建立数组,所有元素按行阶排序,即每一行的值从左向右,顶部的行置于最前,底部的行置于最后。在一行内单个数值可用空格或逗号隔开,而行与行之间则用分号隔开或另起一行书写。每一行每一列

12、的元素个数必须相同。用于初始化数组的表达式可以包括代数符号或事先已经定义好的数组。当我们创建一个数组时,不是每一个元素都必须定义。如果要定义一个特殊的数组或只有一个或几个元素没有定义,那么前面的那些元素将会自动创建,并初始化为 0。例如:如果数组 c事先没有定义,语句 c(2,3)=5将会创建一个矩阵 c=0 0 0;0 0 5.相似的,指定一个赋值予一个存在的数组,但超过了这个数组的大小。例如,假设存在一数组 d=1 2,这个语句 d(4)=4将会制造出数组 d=1 2 0 4;每个赋值语句末的分号有特殊的目的:无论在何时一个表达式在赋值语句中被赋值,分号将会中止变量值的重复。如果句末没有分

13、号,变量将会自动显示在命令窗口中。如果在赋值语句末有分号,这种重复将会消失,重复虽可以起到检查工作的作用但降低了运行的速度,由于这个原因,在一般情况下总是禁止重复。用捷径表达式(short expression)来赋值MATLAB提供一种专门的捷径标记法,这种方法用克隆运算符(Colon operator)适用于一些情况。一般顺序为:first:incr:last。Frist 代表数组的每一个值,incr 代表步增量,last 代表这个数组的最后一个值。如果步增量为 1则可以省略。捷径表达式(short expression)可以联合调换运算符()来初始化行向量或更加复杂的矩阵。调换运算符可以

14、在需要的情况下完成行和列的转换。用内置函数来初始化数组也可以用 MATLAB内置函数初始化。例如:zeros 可以初始化任何大小的全为 0的数组。如果这个函数的参数只是一个标量,那么 MATLAB将会创建一个方阵,行数和列数均为这个参数。如果这个函数有两个标量参数,那么第一个参数代表行数,第二个参数代表列数。因为 size函数所返回的是一个数组的行数和列数,所以可以联合 zeros函数来创建一个相同大小的零矩阵。Zeros(n)创建一个 n*n的零矩阵;zeros(n,m)创建一个 n*m的零矩阵;zeros(size(arr)创建一个与数组 arr相同的零矩阵;ones(n)创建一个n*n元

15、素全为 1的矩阵;ones(n,m)创建一个 n*m的元素为 1的矩阵;eye(n)创建一个 n*n的单位矩阵;eye(n,m)创建一个 n*m的单位矩阵;length(arr)返回一个向量的长度或二维数组中最长的维的长度;size(arr)返回指定数组的行数和列数。用关键字 input初始化变量关键字 input用来提示使用者和直接从键盘输入初始化变量。当脚本文件(script files)时,可以用来提示使用者输入。Input 函数在命令窗口显示出提示语句并等待用户返回一个值。如果 input函数中有字符s为它的第二个参数,那输入的数据被当字符串。3.多维数组多维数组在内存中的存储一个有

16、m行和 n列的二维数组包括 m*n个元素,这些元素在计算机的内存中将会占有 m*n个连续的内存空间。MATLAB 以列主导顺序分配数组中的元素。也就是说,内存先分配第一列的元素,然后第二列,第三列。依次类推,直到所有列都被分配完。用单个下标访问多标数组MATLAB的特性之一就是它允许使用者把一个多维数看作一个一维数组,这个一维数组的长度等于多维数组的元素数。如果用一个下标访问一个多维数组,那么元素的排列顺序就是内存的分配顺序。4.子数组在数组名后面加括号,括号里面是所有要选择的元素的下标,这样就能选择这个函数的子集了。对于一个二维数组,克隆运算符可以用下标来选择子数组。克隆运算符(:)例 a = 1 2 3;4 5 6;7 8 9matlab默认存数据是按列存,即 a矩阵实际存储时为 1 4 7 2 5 8 3 6 9,因此 a(1:2)表示第一个数据到第二个数据, a(1:2:3)表示第一个数据隔两个数据,所以为 1 7,a(1:3)表示第一个到第三个数据,所以为 1 4 7,a(1:2,2)表示第一行到第二行中的第二

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号