MATLAB语法

上传人:抢*** 文档编号:243751088 上传时间:2024-09-30 格式:PPT 页数:51 大小:471.50KB
收藏 版权申诉 举报 下载
MATLAB语法_第1页
第1页 / 共51页
MATLAB语法_第2页
第2页 / 共51页
MATLAB语法_第3页
第3页 / 共51页
资源描述:

《MATLAB语法》由会员分享,可在线阅读,更多相关《MATLAB语法(51页珍藏版)》请在装配图网上搜索。

1、单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,*,第,2,章,MATLAB,的基本语法,第,2,章,MATLAB,的基本语法,第,2,章,MATLAB,的基本语法,,2.1,变量及其赋值,,2.2,运算符与数学表达式,,2.3,控制流,,2.4,数据的输入输出及文件的读写,,2.5,基本数学函数,,2.6,基本绘图方法,,2.7 M,文件及程序调试,,,2.1,变量及其赋值,,2.1.1,标识符与数,,标识符是标志变量名、常量名、函数名和文件名的字符串的总称。在,MTLAB,中,变量和常量的标识符最长允许,19,个字符。字符包括全部的英文

2、字母(大小写,52,个)、阿拉伯数字和下划线等符号,标识符中第一个字符必须是英文字母。,2.1.2,矩阵及其元素的赋值,,赋值就是把数赋予代表常量或变量的标识符。在,MATLAB,中,变量都代表矩阵。,,列矢量可被当作只有一列的矩阵;行矢量也可被当作只有一个行的矩阵;标量应看作,,1,,1,阶的矩阵。赋值语句的一般形式为:,,,变量=表达式(或数),1,.赋值要求,,在输入矩阵时,应遵循以下规则:,,·,整个矩阵的值应放在方括号中;,,·,同一行中各元素之间以逗号“,”或空格分开;,,·,不同行的元素以分号“;”隔开。,2,.变量的元素的标注,,在,MATLAB,中,变量的元素(即矩阵元)用

3、圆括号“( )”中的数字(也称为下标),,来注明,一维矩阵(也称数组)中的元素用一个下标表示,二维矩阵由两个下标数构成,,,以逗号分开,对三维矩阵则由三个下标数构成。,,3,.赋值技巧,(1),利用冒号“:”给全行的元素赋值,(2),利用行、列标注构成新的矩阵,4,.特殊矩阵和数组,(1),单位矩阵函数,eye(),,函数功能:产生对主角线元素为,1,,其它元素为,0,的单位矩阵。,eye(),的调用格式如下:,,A=eye(n),返回一个,n,,n,阶单位矩阵;,,A=eye(m , n),返回一个,m,n,阶单位矩阵,或用,A=eye([m , n]),;,(2) zeros,函数、,

4、ones,函数、,rand,以及,randn,函数,A=zeros(n),返回一个,n,,n,阶零矩阵;,,A=zeros(m , n),返回一个,m,n,阶零矩阵;,,(3)linspace,函数和,logspace,函数,,linspace,函数的调用格式如下:,,y=,linspace(a,b,),产生一个行矢量,y,,,该矢量把,a,和,b,间的数等分,100,份而得到。,,y=,linspace(a,b,n,),产生一个行矢量,y,,,该矢量把,a,和,b,间的数等分,n,份而得到。,5,.,MATLAB,内部特殊变量和常数,⑴,变量,ans,:临时变量,通常指示当前的答案。,,

5、⑵,常数,eps,:,表示浮点相对精度;其值是从,1.0,到下一个最大浮点数之间的差值。变量值作为一些,MATLAB,函数计算的相对浮点精度,按,IEEE,标准,,esp,= 2,-52,近似为,2.2204e-016,。,,⑶,常数,realmax,:表示最大正浮点数;任何大于该值的运算都溢出。在具有,IEEE,标准浮点格式的机器上,,realmax,略小于,21024,,,近似为,1.7977e+308,。,⑷,常数,realmin,:,表示最小正浮点数;任何小于该值的运算都溢出。在具有,IEEE,标准浮点格式的机器上,,realmin,略小于,2,-1024,,近似为,2.2251e-3

6、08,。,,,⑸,常数,pi,:表示圆周率,π,=3.1415926535897.....,。表达式,4*atan(1),和,imag(log(-1)),产生相同的值,π,。,,⑹,常数,Inf,:,代表正无穷大,一般被,0,除或溢出则产生无穷大结果。如,2/0,,,2^10000,均产生结果:,Inf,;而,log(0),产生结果:,-,Inf,。,,⑺,虚数单位,i,,,j,:,表示复数虚部单位,相当于,,。,,⑻,NaN,:表示非数值。如当,Inf-Inf,,,Inf/Inf,,,0*,Inf,,,0/0,均产生该结果。,6,.复数的赋值方式,,MATLAB,的每一个元素都可以是复数,实

7、数是复数的特例。复数的虚数部分用,i,或,j,表示。,对复数矩阵有两种赋值方法:,,(1),可将矩阵元逐个赋予复数,,(2),将矩阵的实部和虚部分别赋值:,7,.变量检查,,在程序调试或变量的赋值过程,往往需要检查工作空间中的变量、变量的阶数以及变量赋值内容。在检查变量及其阶数等内容时,既可用工作空间窗口,也可在命令窗口使用,who,或,whos,命令来完成检查。当查看某变量的赋值情况,可在命令窗口直接键入该变量名回车即可。,,,2.2,运算符与复数运算,,,算术运算符:,进行数值计算。,,关系运算符:,比较两个操作数的大小。,,,逻辑运算符:,进行逻辑运算。,,2.2.1,算术运算符,,(1

8、),矩阵加减法“,±”,:,A±B,,功能:两矩阵对应元素相加减。因此,,A,和,B,两矩阵必须有相同的大小,或其中之一 为标量,标量可以与任意大小的矩阵相加。,,(2),矩阵相乘“*”:,A*B,,,功能:,C =A*B,为两矩阵线性代数的乘积,即,(3),矩阵元素相乘“,.*”,:,A.*B,,功能:矩阵,A,和,B,的对应元素相乘;因此,,A,和,B,必须大小相同,或其中之一为标量。,,(4),矩阵右除“,B/A”,与左除“,A\B”,,如果,A,为一非奇异矩阵,则,B/A,与,A\B,可通过,A,的逆矩阵与,B,矩阵得到:,B,/A=B*,inv(A,),;,A\B=,inv(A

9、,)*B,。,,(5),矩阵元素右除“,A./B”,与左除“,A.\B”,,,矩阵元素右除“,A./B”,表示矩阵元素,A(i,j)/B(i,j),;,矩阵元素左除“,A./B”,表示矩阵,B(i,j)/A(i,j),,因此,,A,和,B,必须大小相同,或者其中之一为标量。,,(6),矩阵幂“^”:,X,^,p,,,如果,p,为标量,表示,X,的,p,次幂;如果,X,为标量,而,p,为矩阵,,X,^,p,用特征值和特征特征 向量表示,X,的矩阵,p,次幂。注意,X,和,p,不能同时为矩阵,但必须是方阵。,,(7),矩阵元素幂“,.,^”:,A.,^,B,,A.,^,B,表示矩阵元素,A,

10、(,i,j,)的,B(i,j,),次幂,,A,与,B,必须大小相同,或者其中之一为标量。,(8),矩阵转置“ ’ ”,,A’,表示矩阵,A,的线性代数转置。对于复矩阵,表示复共轭转置。,,(9),非共轭转置“,.’ ”,,A.’,表示非共轭转置;对于复矩阵,不包括共轭。,,(10),冒号操作符“:”,,冒号是一个非常有用的操作符;可以产生向量、数组下标以及,for,循环。,,关系比较结果只有两种可能,即,1,或,0,。,1,表示关系式这“真”,即关系式正确;,0,表示该关系为“假”,即它不成立。,,2.2.3,逻辑操作符,,通常逻辑变量只能取,0(,假,),和,1(,真,),两个值。逻辑量

11、的基本运算除“与,(&)”,、“或,(|)”,和“非,(~)”,外,有时也包括“异或,(,xor,)”,,,不过“异或”可以用,3,种基本运算组合而成。两个逻辑量经过这,4,种逻辑运算后的输出仍然是逻辑量。,2.2.2,关系操作符,,关系运算是指两个元素之间数值的比较。,MATLAB,所提供的关系操作符如表所示。,,2.2.4,关系与逻辑函数,,其他关系与逻辑函数,,测试函数,,,2.2.5,复数运算,,1,.,MATLAB,中所有的运算符和函数都对复数有效。,,2,.复数的共轭可利用函数“,conj”,来完成,,2.3,控制流,,2.3.1 If,语句,,,if,语句称为条件执行语句。,,

12、其关键字包括,if,、,else,、,elseif,和,end,。,,格式之一,:,,,if,表达式,,,语句组,A,,,,,end,,其工作流程如图所示。,注意:,语句中的,end,是决不可少的,没有它,在逻辑表达式为,0,时,就找不到继续执行程序的入口。,,,格式之二:,,,if,表达式,,,语句组,A,,,else,,,语句组,B,,,end,,其工作流程如图所示。,,,格式之三:,,,if,表达式,1,,,语句组,A,,,,elseif,,表达式,2,,,语句组,B,,,else,,,语句组,C,,end,,工作流程原理如图,2.3,所示。,,switch,选择表达式,,,cas

13、e,情况表达式,1,,语句组,1,,,case,情况表达式,2,,语句组,2,,,………,,,otherwise,,,语句组,n,,end,2.3.2,,Switch,语句,,switch,语句,也是条件选择结构。其关键字包括,switch,、,case,、,otherwise,和,end,。,它主,,要用于有选择性的程序设计,实现程序的多分支选择。其调格式为:,,2.3.3,,While,语句,,,while,语句为条件循环语句,循环执行一组语句,执行次数不确定,而是决定于一些逻辑条件。其关键字包括,while,、,end,、,break,等。,,基本调用格式:,,,,while,表达式,,

14、,语句,A,,,end,,2.3.4 for,语句,for,语句也是循环语句,但与,while,语句不同的是,它循环执行一组语句的执行次数是,,确定。其关键字包括,for,、,end,、,break,等。调用的基本格式如下:,,for index=,初值:增量:终值,,语句组,A,,end,,功能:把语句组,A,(,亦称为循环体)反复执行,N,次。循环次数,N,为:,,,N,=,1+(,终值,-,初值,)/,增量,,在每次执行时程序中的,index,的值按“增量”增加。,注意:,,(1)For,循环不能用,For,循环内重新赋值循环变量,n,来终止。,,(2),在,For,循环内接受任何

15、有效的,MATLAB,数组。,,(3) for,循环可按需要嵌套。与其它的编程语言类似,,for,语句可以嵌套使用。,,(4),当有一个等效的数组方法来解给定的问题时,应避免用,For,循环。,,(5),为了提高处理的速度,在,For,循环,(While,循环,),被执行之前,应预先分配数组,。,,2.4,数据的输入输出及文件的读写,,2.4.1,交互输入与输出命令和函数,1,.键盘输入命令,input,,格式一:,u=input,(‘,提示内容’),,格式二:,u=input,(‘,提示内容’,‘,s’,),,在屏幕上显示提示内容,等待从键盘输入,将输入的符号以字符串赋给文本(字符串)变量,

16、u,。,2.,菜单输入命令,menu,,功能:产生一个供用户输入的选择菜单。,,格式:,k=menu,(‘,title’,,‘,选项,1’,,‘选项,2’,,,,,,‘选项,n’,),,显示以字符串变量‘,title’,为标题的菜单,选择为字符变量:‘选项,1’,,‘选项,2’,,,,,,‘选项,n’,,,并将所输入的值赋给变量,k,。,3,.暂停执行命令,pause,,pause,常用在,M,文件中,用于停止执行,直接按任意键继续执行;,,pause(n),暂停执行,n,秒后继续执行;,,pause on,允许一系列,pause,命令暂停程序执行;,,pause off,保证任何,pau

17、se,命令和,pausea(n,),语句不能暂停程序执行。,,4,.显示命令,disp,,功能:显示指定的变量或变量的内容。,,调用格式:,disp,(,变量名,),5,.按格式要求输出变量命令,sprintf,,功能:按格式要求输出变量,,调用格式:,sprintf,(,显示格式,,,变量,),。,2.4.2,文件输入输出命令与函数,,1,.,save,,功能:用以将工作空间中的变量保存到磁盘上。,,格式一:,save,,,将工作空间中的所有变量保存在一个名为:“,matlab.mat,”,的二进制格式文件中,该文件可通过,load,命令来重新装入工作空间。,,格式二:,save,文件名

18、 变量名,,将工作空间中指定的“变量名”保存在指定“文件名,.mat”,的二进制格式文件中。,,格式三:,save,文件名 选项,,使用“选项”指定,ASCII,文件格式,将工作实间中所有变量保存到“文件名”所指定的文件中。,,2. load,:,,功能:从磁盘文件中重新调入变量内容到工作空间。,,格式一:,load,,,将保存在“,matlab.mat,”,文件中的所有变量调入到工作空间。,,格式二:,load,文件名,,从“文件名,. mat”,中调入变量,可给出全部路径。,,3.,fopen,,功能:打开文件或获得打开文件信息。,,格式一:,f_id=,fopen,(,文件名,’允

19、许模式’,),,以’允许模式’指定的模式打开“文件名”所指定的文件,返回文件标识,f_id,;,,’,允许模式’,可以是下列几个字符串之一:,,‘,r’,,:,打开文件进行读(缺省型式);,,‘,w’,,:,删除己存在文件中的内容或生成一个新文件,打开进行写操作;,,,‘,a’,,:,打开一个己存在的文件或生成并打开一个新文件,进行写操作,在文件末尾添加,,数据;,,格式二:,[f_id , message]=,fopen,(,文件名,’允许模式’,格式,),,,功能:用指定的数据“格式”打开数据文件,返回文件标识和打开文件信息两个参数。,,“数据格式”,。,如果,fopen,成功打开文件,则

20、返回文件标识,f_id,,,message,内容为空,如果不能成功打开,则返回,f_id,值为-,1,,,message,中返回一个有助于判断错误类型的字符串。,,有三个值是预先定义的,不能打开或关闭:,,,0,:表示标准输入,一直处于打开读入状态。,,,1,:表示标准输出,一直处于打开追加状态。,,,2,:表示标准错误,一直处于打开追加状态。,4,.,fclose,,功能:关闭一个或多个已打开的文件。,,格式一:,status=,fclose(f_id,),,,,关闭指定文件,返回,0,表示成功,返回,-1,表示失败。,,格式二,status=,fclose(‘all,’),,功能: 关闭所

21、有文件,返回,0,表示成功,返回,-1,表示失败。,,,5,.,fread,,格式一:,[A, count]=,fread(f_id,, size, ’,精度’,),,,功能:从指定文件中读入二进制数据,将数据写入到矩阵,A,中;可选输出,count,返回成功读入元素个数;,f_id,为整数文件标识,其值由,fopen,函数得到;可选参数,size,确定读入多少数据,如果不指定参数,size,,,则一直读到文件结束为止,参数,size,合法选择有:,,,n,:,读入,n,个元素到一个列向量;,,,inf,,:读,到文件结束,返回一个与文件数据元素相同的列向量;,,,[m, n],:,读入足够元

22、素填充一个,m×n,阶矩阵,填充按列顺序进行,如果文件不够大,则填充,0,。,,‘精度’表示读入数据精度的字符串,控制读入每个值的数据位,这些位可以是整数型、浮点值或字符。,格式二:,[A, count]=,fread(f_id,, size,’,精度’,,skip),,可选参数,skip,,,指定每次读操作跳过字节数,如果’精度’是某一种位格式,则每次读操作将跳过相应位数。,6,.,fwrite,,功能:向文件中写入二进制数据。,,格式一:,count=,fwrite,(f_id, A,’,精度’,),,,将矩阵,A,中元素写入指定文件,将其值转换为指定的精度。,,格式二:,count=,f

23、write(f_id,A,,’,精度’,,skip),,可用参数,skip,指定每次写操作跳过指定字节。,,7,.,fscanf,,格式一:,A=,fscanf,(f_id, ’,格式’),,从由,f_id,所指定的文件中读入所有数据,并根据’格式’字符串进行转换,并返回给矩阵,A,,’格式’字符串指定被读入数据的格式。,,格式二:,[A, count]=,fscanf(f_id,,’,格式’,,size),,读入由,size,指定数量的数据,并根据’格式’字符进行转换,并返回给矩阵,A,,,同时返回成功读入的数据数量,count,。,,8,.,fprintf,,格式一:,count=,fpr

24、intf(f_id,,’,格式’,,A,,,…),,,将矩阵,A,或其它矩阵的实部数据以’格式’字符串指定的形式进行规格化,并将其写入指定的文件中,其返回值为写入数据的数量。,,格式二:,fprintf,(’,格式’,,A,,,…),,,将,A,或其它值以’格式’给定的形式输出到标准输出-显示屏幕上。,,,,,9,.,fgets,,功能:以字符串形式返回文件中的下一行内容,包含行结束符。,,格式一:,ctr,=,fgets(f_id,),,,返回文件标识为,f_id,的文件中的下一行内容,如果遇到文件结尾(,EOF,),,则返回,-1,,所返回的字符串中包括文本结束符,用,fgetl,(,,)

25、,则返回的字符串中不包括行结束符。,,格式二:,str,=,fgest((f_id,,,n),,,返回下行中最多,n,个字符,在遇到行结束符或文件结束(,EOF,),时不追加字符。,,,10,.,fgetl,,功能:以字符串形式返回文件中的下一行内容,但不含行结束符。,,格式:,str,=,fgetl(f_id,),,返回文件标识为文件中的下一行内容,如果遇到文件结尾,则返回-,1,,所返回的字符串中不包括行结束符。,,,11,.,ferror,,功能:查询,MATLAB,关于文件输入、输出操作的错误。,,,messgeg,=,ferror(f_id,),,,将标识为,f_id,的已打开文件的

26、错误信息返回给,message,变量。,,,12,.,feof,,功能:测试文件结尾(,EOF,)。,,格式:,eoftest,=,feof(f_id,),,测试指定文件是否设置了,EOF,;,如果返回,1,则表示设置了,EOF,指示器,返回,0,未设置。,,,13,.,imread,,,功能: 从图像文件中读入图像,,格式一:,A=,imread,(,文件名,’图像文件格式’),,将文件名指定的图像文件读入,A,,,A,为无符号,8,位整数(,uint8,)。,如果文件为灰度图像,,,则,A,为一个二维数组;如果文件是一个真彩色,RGB,图像,则,A,是一个三维数组,(m*n*3),。,,格

27、式二:,[A, map]=,imread,(,文件名,’图像文件格式’),,读入索引图像到矩阵,A,,,其调色板值返回给,map,,,A,为无符号,8,位整数(,uint8,),,map,,为双精度浮点数,其值在,[0,,,1],范围内。,14,.,imwrite,:,将图像写入图像文件中。,,格式一:,imwrite(A,,,文件名,’图像文件格式’,),,格式二:,imwrite(A,,,map,,,文件名,’图像文件格式’,),,将,A,中的索引图像及其相关的调色板,map,存放到指定文件。调色板,map,必须是,MATLAB,,的有效调色板。注意大多数图像文件格式不支持大于,256,条

28、的调色板。,15,.,imfinfo,,,功能:返回图像文件信息,,格式:,info=,imfinfo,(,文件名,’图像文件格式’,),,返回一个图像信息结构,或结构数组。‘图像文件格式’与,imread,函数的一样。,,16,.,auread,,功能,:,读入声音文件(,.au,),,格式一:,Y=,auread,(,aufile,),,,读入由文件名,aufile,指定的声音文件,返回采样数据给变量,Y,。,如果文件名中没有扩,,展名,则自动在其后加上,.au,作为扩展名。幅值在,[-1,,,1],范围内。支持多通道数据格式:,,8-bit,mu,-law,;,或,8-, 16-,,,3

29、2-bit,,linear,。,,格式二:,[Y, Fs,bits]=,auread(aufile,),,,返回采样率,Fs(Hz),以及文件中每数据编码时所用的位数,(bits),。,,,17,.,Auwrite,,,功能:向文件(,. au,),中写入声音数据。,,格式一:,auwrite(A,, ‘,文件名,. Au’ ),,向’文件名,. au’,指定的文件中写入声音数据,数据在,A,中以一个通道一列的方式安排,,,幅值超过,[-1, +1],范围时,在写入前先进行剪裁处理。,,格式二:,auwrite(A,, Fs, ‘,文件名,. au’ ),,用指定的数据采样,Fs(Hz),写入

30、声音数据。,,18,.,wavread,,功能,:,读入声音文件(,.wav,),,格式一:,A=,wavread,(‘,文件名,.wav’),,,读入由’文件名’指定的,Microsoft,声音文件,(. wav),,,返回采样数据给变量,A,。,如果文件,,名中没有扩展名,则自动在其后加上,.wav,作为扩展名,幅值在,[-1,,,1],范围内。,,格式二:,[A,,,Fs,,,bits]=,wavread,(‘,文件名,.wav’),,返回采样率,Fs(Hz),以及文件中每数据编码时所用的位数,(bits),。,,,19,.,wavwrite,,功能:向,Microsoft WAV,声音

31、文件(,.wav,),中写入声音数据,,格式一:,wavwrite,(A, ‘,文件名,.wav’),,向指定的文件中写入声音数据,数据在,A,中以一个通道一列的方式安排,幅值超过,,[-1, +1],范围时,在写入前先进行剪裁处理。,,格式二:,wavwrite(A,, Fs, ‘,文件名,.wav’),,用指定的数据采样,Fs(Hz),写入声音数据。,,2.5,基本数学函数,,2.5.1,三角函数,,,1,.正弦,sin,函数与反正弦函数,asin,函数,,格式:,A,=,sin(X),,功能:对矩阵或数组,X,的每个元素求正弦值,所有角度用弧度表示。,,格式:,X,=,asin(A,),

32、,功能:对于,A,的元素求反正弦值,结果为弧度。,2,.双曲正弦,sinh,函数与反双曲正弦函数,asinh,函数,,格式:,A,=,sinh(X,),,功能:对矩阵或数组,X,的每个元素求双曲正弦值。,,格式:,X,=,asinh(A,),,功能:对于,A,的元素求反双曲正弦值。,,,,3,.余弦,cos,函数与反余弦函数,acos,函数,,格式:,A,=,cos(X,),,功能:对矩阵或数组,X,的每个元素求余弦值,所有角度用弧度表示。,,格式:,X,=,acos(A,),,功能:对于,A,的元素求反余弦值,结果为弧度。,4,.双曲余弦,cosh,函数与反双曲余弦函数,acosh,函数,,

33、格式:,A,=,cosh(X,),,功能:对矩阵或数组,X,的元素求双曲余弦值。,,格式:,X,=,acosh(A,),,功能:对于,A,的元素求反双曲余弦值。,,5,.正切,tan,函数与反正切函数,atan,函数,,格式:,A,=,tan(X),,功能:对矩阵或数组,X,的每个元素求正切值,所有角度用弧度表示。,,格式:,X,=,atan(A,),,功能:对于,A,的每个元素求反正切值,结果为弧度。,,6,.四象限反正切,atan2,函数,,格式:,P=atan2(Y,,,X),,功能:四象限反正切函数。返回大小与,Y,、,X,相同的矩阵或数组,由,Y,和,X,对应元素的,,实部求反正切值

34、得到,其中虚部忽略。,7,.双曲正切,tanh,函数与反双曲正切,atanh,函数,,格式:,A,=,tanh(X,),,功能:对于,X,的每个元素求双曲正切值。,,格式:,X,=,atanh(A,),,功能:对于,A,的每个元素求反双曲正切值。,8,.正割,sec,函数与反正割,asec,函数,,格式:,A,=,sec(X),,功能:对,X,的每个元素求正割。,,格式:,X,=,asec(A,),,功能:返回,A,的每个元素的反正割值。,,9,.双曲正割,sec,函数与反双曲正割,asec,函数,,格式:,A,=,sech(X,),,功能:对,X,的每个元素求,双曲,正割。,,格式:,X,=

35、,asech(A,),,功能:返回,A,的每个元素的反双曲正割值。,10,.余割,csc,函数与反余割,acsc,函数,,格式:,A,=,csc(X,),,功能:对,X,的每个元素求正割。,,格式:,X,=,achc(A,),,功能:返回,A,的每个元素的反正割值。,,11,.双曲余割,csch,函数与反双曲余割,asch,函数,,格式:,A=,csch(X,),,功能:对,X,的每个元素求双曲余割。,,格式:,X,=,acsch(A,),,功能:返回,A,的每个元素的反双曲余割值。,12,.余切,cot,函数与反余切,acot,函数,,格式:,A=cot(X),,功能:对,X,的每个元素求余

36、切。,,格式:,X,=,acot(A,),,功能:返回,A,的每个元素的反余切值。,13,.双曲余切,coth,函数与反双曲余切函数,acoth,函数,,格式:,A=,coth(X,),,功能:对,X,的每个元素求双曲余切。,,格式:,X,=,acoth(A,),,功能:返回,A,的每个元素的反双曲余切值,,2.5.2,指数、对数、幂运算,,1,.指数,exp,函数与自然对数,log,函数,,格式:,A,=,exp(X),,功能:返回,X,每个元素的以,e,为底的指数值。,,格式:,X,=,log(A),,功能:返回,A,的每个元素的自然对数。,2,.常用对数,logl0,函数,,格式:,X,

37、=,logl0(A),,功能:对,A,的每个元素求常用对数。,3,.,log2,函数和幂函数,pow2,,格式:,X,=,log2(A),,功能:对,A,的每个元素计算其以,2,为底的对数。,,格式:,A=pow2(X),,功能:,A,的元素为,2,对,X,每个元素求幂得到。,4,.平方根函数,,格式:,A=,sqrt(X,),,功能:返回对数组,X,每个元素求平方根的数组,如果元素为负或复数,则结果为复数。,,2.5.3,复数的基本运算,,1,.求复数实部函数,real,,格式:,X=real(Z),,功能:返回复数,Z,的每个元素的实部。,,2,.求复数的虚部函数,imag,,格式:,Y=

38、,imag(Z,),,功能:返回复数,Z,的每个元素的虚部。,,3,.绝对值和复数模函数,abs,,格式:,A=abs(Z),,功能:返回,Z,每个元素的绝对值。如果,Z,的元素是复数,则返回其模。,4,.求相角函数,angle,,格式:,P=angle(Z),,功能:对,Z,的每个元素求相角。,,5,.共轭函数,conj,,格式:,C=conj(Z),,功能:对,Z,的每个元素求共轭复数,。,,2.5.4,数据的取舍与保留,1,.向,0,方向取整数函数,fix,,格式:,I=fix(X),,返回,X,中每个元素的最靠近零的整数。若,X,为复数,则分别对,X,的实部和虚部取整。,2,.向,-∞

39、,方向取整数函数,floor,,格式:,I=floor(X),,返回,X,中每个元素的最靠近该元素的最小整数。若,X,为复数,则分别对,X,的实部和虚部取最小整。,,3,.向,-∞,方向取整数函数,ceil,,格式:,I=ceil(X),,返回,X,中每个元素的最靠近该元素的最大整数。若,X,为复数,则分别对,X,的实部和虚部取最大整数。,,4,.四舍五入取整数函数,round,,格式:,I=round(X),,返回,X,中每个元素的最靠近该元素的整数。若,X,为复数,则分别对,X,的实部和虚部取整数。,,5,.模数余函数,mod,,格式:,M=mod(X,,,Y),,返回,X,关于,Y,的余

40、数,。,,,6,.除后余数函数,rem,,格式:,M=,rem(X,,,Y),,功能:返回,X,关于,Y,的余数,。,7,.符号函数,sign,,格式:,s=sign(X),,如果,X,大于零,则返回,1,;如果,X,等于零,则返回,0,;如果,X,小于零,则返回,-1,。,,如果,X,为复数,则算法为:,SIGN(X) = X ./ ABS(X),。,,2.6,基本绘图方法,,2.6.1,图形窗口的控制,,在,MATLAB,中,图形的绘制必须在图形窗中进行。通常,只要执行了任意一种绘图命令,图形窗口,(Figure),就会自动产生。此时,所生成的图形窗口称为当前图形窗,绘图命令所绘制的图形将

41、在当前图形窗中完成。,,1,.,figure,命令,,格式:,figure,或,figure(N),,功能:创建一个图形窗口。使编号为,N,的图形窗口成为当前图形窗口,即图形窗口处于可视状态。如果窗口,N,不存在,则将创建一个句柄为,N,的图形窗口。,2,.,clf,命令,:清除当前图形窗口中的所有的内容。,,格式:,clf,,3,.,close,命令,:关闭图形窗口,,格式一:,close,或,close (N),关闭当前图形窗口或指定编号,N,的图形窗口。,,格式二:,close all,关闭所有图形窗口。,,4,.,hold,命令,,格式:,hold on (off),,功能:保持当前

42、图形窗的内容,或取消,hold on,的命令功能,恢复系统默认状态。通常,,MATLAB,在执行某一绘图命令时,系统会自动将当前图形窗口中的内容清除,然后再绘制。,hold,命令的功能就是保持当前图形窗的内容,使后续绘制函数仍可该图形窗口中完成绘图,实现一张图中绘制多个图形。若再键入,hold,命令就解除冻结。这种拉线开关式的控制有时会造成混乱,可以用,hold on,和,hold off,命令来得到确定的状态。,,,5,.,subplot,命令,,功能:将一个图形窗口划分为多个子图形窗口,,格式:,subplot(m,n,p),或,subplot(nmp,),,将图形窗口分成,n,,m,个

43、子图形窗口,并选择第,p,个子图形窗口作为当前图形窗口,供绘制函数作图使用。,,2.6,基本绘图方法,1.,二维图形绘制命令,plot,,,MATALB,为用户提供了一个基本的二维曲线绘图函数,plot,。,,格式一:,plot(y)--,输入一个数组的情况,,功能:如果,y,是一个数组,函数,plot(y),给出线性直角坐标的二维图,该二维图以,y,中元素的下标作为,X,坐标,,y,中元素的值作为,Y,坐标,一一对应画在,X—Y,坐标平面图上,而且将各点以直线相连。若,y,的元素是复数,则,plot(y),等价于,plot(real(y),imag(y,)),,,其中,real(y),是,y

44、,的实部,,imag(y,),是,y,的虚部。若,y,是矩阵,就按列绘制,曲线,曲线的条数等于,y,矩阵的列数。,格式二:,plot(x,y)--,输入两个数组的情况,,功能:绘出以,x,元素为横坐标、,y,元素为纵坐标的曲线。数组,x,和,y,必须具有相同长度。,2.6.2,二维图形的绘制,,,2,.线型、标记符号及颜色的设置,,为了设定线型、颜色以及标记符号,用户只需在,plot,的输入变量组后面,加一个引号,在引号内部放入线型、颜色以及标记符号的标志符即可完成。,,格式一:,plot,(,y,,’,字符串’),,格式二:,plot,(,x, y,,’,字符串’),3,.图形的标注、网格以

45、及图例说明,,,(1),添加图形标题命令,title,,,格式:,title(‘string’),,,功能:在当前坐标系的顶部加一个文本串,string,,,作为该图形的标题。,(2),添加坐标轴标志函数,xlabe,、,ylabel,、,zlabel,,格式:,xlabel(‘text,’),或,ylabel(‘text,’),或,zlabel(‘text,’),,功能:给当前,X,轴或,Y,轴或,Z,轴标注文本标注。,,,(3),设置网格线命令,grid,,格式:,grid on(off),,功能:对当前坐标图加上网格线或撤消网格线。若直接调用,grid,命令即可设置或撤消,,网格线。,,

46、(4),图形标注函数,legend,,格式:,legend( string1, string2, string3, ….),,功能:在当前图中添加图例。,,格式:,Legend off,,功能:撤消当前坐标图上的图例。,4,.坐标轴的形式与刻度,,,(1),设置坐标轴函数,axis,,格式一:,axis([xmin,,,xmax,,,ymin,,,ymax,]),,功能:对当前二维图形对象的,X,轴和,Y,轴进行标定。,,格式二:,axis([xmin,,xmax,,ymin,,ymax,,zmin,,zmax,]),,功能:对当前三维图形对象的,X,、,Y,和,Z,轴进行标定。,,格式三:,

47、axis off(on),,功能:使坐标轴、刻度、标注和说明变为不显示(显示)状态。,,格式四:,axis(‘manual’),,功能:将冻结当前的坐标比例,以后的图形均以此比例绘出。,,(2),对数坐标轴命令,semilogx,、,semilogy,、,loglog,,格式:,semilogx,(…..),,功能:在,X,轴上采用常用对数来进行标定。该命令的调用格式与,plot,函数的调用格式相同。,,格式:,semilogy,(…..),,功能:在,Y,轴上采用常用对数来进行标定。该命令的调用格式与,plot,函数的调用格式相同。,(3),极坐标函数,polar,,格式:,polar(th

48、eta,,rho,),,功能:绘制极角为,theta,,极径为,rho,的极坐标图形。,,格式:,polar(theta,rho,s,),,功能:绘制由,S,指定样式、颜色的极坐标图形。,,(4),图形边框控制命令,box,,格式:,box on(off),,对所绘制的图形添加图形边框,(,默认状态,),,或关闭图形边框。,,5.,二维图形其它的相关函数命令,,(1),获取函数,ginput,,格式:,[X,,,Y]=,ginput(N,),,功能:从当前的坐标图上获得,N,个点的数据,并返回这,N,个点的相应,X,、,Y,坐标向量。,,指针可以由鼠标或键盘上的除回车以外的任意键来进行输入,回

49、车键是用来在,N,个数,,据点输完以前强行停止输入的。,(2),图形填充函数,fill,,格式:,fill( X, Y, C),,功能:填充二维多边形,多边形由向量,X,,,Y,来定义,填充的色由,C,来确定。多边形的顶,,点是由一组,X,,,Y,元素来确定,必要时应组成一个闭合的曲线。,C,可以从’,r’,’g’,’b’,’c’,’m’,’k’,,选出一种色填充也可以是一个,GRB,向量,[r,g,b],,,用它来确定所填充的色。,,2.6.3,多条曲线的绘制,在,MATALB,中,通常,在一张图上绘制多条曲线有以下,4,种方法。,,1,.使用,plot(t, [y1 ,y2, …]),命令

50、,,该语句中,t,是向量,,y=[y1,y2…],是矩阵,若,t,是列向量,则,y,的列,(,行,),长应与,t,长度相同。,,Y,的列,(,行,),数就是曲线的条数。,2.,使用,hold,命令,,在画完前一张图形后,用,hold,命令保持住该图形窗口中的内容,再画下一条曲线。,3.,利用,plot(x1, y1, x2, y2, ….,,xn,,,yn,),语句,,在该语句中,,x1, y1, x2, y2, ….,,xn,,,yn,等分别为向量对。每一对,X-Y,向量可以绘出一条图线,这样就可以在一张图上画出多图线,每一组向量对的长度可以不同,在其后面都可加线型标志符。,4,.使用,pl

51、otyy,命令:,,plotyy(x1, y1, x2, y2),,它设有两个坐标,左纵坐标对应,y1,,,右纵坐标对应,y2,,,以便绘制两个,y,尺度不同,,的变量,但,x,仍用同一个比例尺。,,2.6.4,复数的绘图,,当,plot(z),中的,z,为复数变量时,(,即含有非零的虚部,),,,MATLAB,把复数的实部作为横坐标、虚部作为纵坐标绘图,即相当于,plot(real(z),,,imag(z,)),。,,,2.6.5,三维曲线和曲面,,1,.空间曲线绘制函数,plot3( ),,格式一:,plot3(x,y,z),,功能:若,x,、,y,、,z,为相同长度的向量,则根据向量,x

52、,、,y,、,z,绘制空间三维曲线。如果,x,、,,y,、,z,为同阶矩阵,则绘制对应列的多条曲线。,,格式二:,plot3(x, y, z, ’s’),,功能:按字符串,s,设置的线型、颜色、标记符号绘制三维空间曲线。字符串,s,的设置与,,plot,命令的设置相同。,2,.三维网线图函数,mesh,、,meshc,和,meshz,,,MATALB,提供的函数,mesh,用来绘制三维网线图。,,格式一:,mesh(X,Y,Z),,功能:根据矩阵,X,、,Y,和,Z,绘制彩色的空间三维网线图。,X,、,Y,和,Z,中对应的元素为三维空间上的点,点与点之间用线连接。其中网线的颜色随着网点高度的改

53、变而改变。,,格式二:,mesh(x,y,Z),,功能:,n,维向量,x,、,m,维向量,y,和,m×n,矩阵,Z,绘制网线图,节点的坐标为,(x(j),y(i),Z(i,j)),,网线的颜色随着网点高度的改变而改变。,,3,.三维曲面图函数,surf,及,surfc,,,格式一:,surf(X, Y, Z, C),,功能:绘制由四个矩阵所指定的带色参数的网状表面图。视角是由,view,所指定。轴的刻度决定于,X,,,Y,及,Z,的范围,或当前对轴的设定;颜色范围由,C,指定。,,格式二:,surf(X,,,Y,,,Z),,功能:将,C,设为与,Z,相等,则颜色与网的高度成正比。,,4,.视图

54、函数,view,,格式一:,view(az,, el),或,view([az,el,] ),,功能:设置观察者观察三维图形的视角。,az,是方位角或者是水平旋转角度,,el,是仰角。,,格式二:,view(2),或,view(3),,功能:设置观察三维图形视角的默认值,(,az,=0,el=90;,az,=-37,el=30),,格式三:,[,az,, el]=view,,功能:返回当前的方位和视角,,2.7 M,文件及程序调试与变量属性,M,文件,:由,MATLAB,命令语句构成的程序文件称作,M,文件,它将,m,作为文件的扩展名。可以直接阅读并用任何文本编辑器来建立这种文件。,,M,文件

55、可分为两种,:主程序和子程序。,,,主程序,(,也称主程序文件,),:,一般是由用户为解决特定的问题而编制的程序。,,,子程序,(,称为函数文件,),:,它必须由其它,M,文件来调用。函数文件往往具有一定的通用性,并且可以进行递归调用。,,,(1),有关程序的功能、使用方法等内容的注释。主程序前面的若干行通常是程序的注释,,,每行以“%”开始。,,(2),程序的主体。,,(3),整个程序应按,MATLAB,标识符的要求起文件名,并加上后缀,m,。,,对主程序文件的运行方式通常有两种:,,在,MATLAB,的命令窗口中运行:,在,MATLAB,的命令窗中键入此程序的文件名后,系统就开始执行文件中

56、的程序;,,在编辑窗口中运行:,通过编辑窗口打开所要运行的文件,然后再运行。主程序文件中的语句可以对,MATLAB,工作空间中的所有数据进行运算操作。,2.7.1 M,文件的结构,,主程序文件的格式特征如下:,,2,.函数文件结构,,函数文件是用来定义子程序的。它与主程序文件的主要区别有三点:,,(1),由,function,起头,后跟的函数名必须与文件名相同;,,(2),有输入输出变元,(,变量,),,可进行变量传递;,,(3),除非用,global,声明,程序中的变量均为局部变量,不保存在工作空间中。,,通常,函数文件由五部分构成:,,·,函数定义行;,,·H1,行;,,·,函数帮助文本

57、;,,·,函数体;,,·,注释。,,函数定义命令,function( ),,格式:,function [output1,output2,…,],=functionname(input1,input2,….),,,功能:定义函数名为,functionname,的,函数,(,或子程序,),,该函数的输出变量为,[output1,output2,…,],,,输出变量为,,(input1,input2,….),。,,,例如:,function y=mean(x,dim),,function,为函数定义的关键字,,mean,为函数名,,y,为输出变量,,x,和,dim,为输入变量。,,注意,:当函数具

58、有多个输出变量时,则以方括号括起;当函数具有多个输入变量时,则直接用圆括号括起。例如:,function[x,,,y,,,z],=,sphere(theta,,,phi,,,rho,),。,当函数不含输出变量时,则直接略去输出部分或采用空方括号表示。,,,2.7.2,局部变量与全局变量,通常,在,MATALB,工作空间中,变量有三类:,,•,由调用函数传递输入和输出数据的变量;,,•,在函数内临时产生的变量,—,称为局部变量,,•,由调用函数空间、基本工作空间或其它函数工作空间提供的变量,—,称为全局变量。,,在,MATLAB,中对变量以及全局变量管理提供了以下的命令:,,1,.global,

59、,格式,:,global X Y Z,,功能,:,将变量,,X,、,Y,、,Z,定义成全局变量。,,2,.,Pers,i,stent,,格式,:,persistent X Y Z,,功能,:,将变量,X,、,Y,、,Z,定义成永久变量,。,persistent,函数只用于函数文件中,,,使在每次,,调用时保持变量的值不变。,,,2.7.3,程序的调试,1.MATLAB,的主程序的调试:,,,MATLAB,的查错能力很强,加上工作空间中变量的保存和显示功能不需要专门的调试命令,因此,主程序的调试很方便地进行。,,2.,函数程序的调试:,,因为在函数程序中出错而停机时,其变量不作保存。虽然它也会指

60、出出错的语句,但因为子程序中的变量,(,局部变量,),在程序执行完毕后会自动消失,其它现场数据又无记录,会给调试带来很大困难。可采用下列措施:,,(1),把某些分号改为逗号,使中间结果能显示在屏幕上,作为查错的依据。,,(2),在子程序中适当部位加,keyboard,命令,到了此处,系统会暂停而等待用户键入命令。这时子程序中的变量还存于工作空间中,可以对它进行检查。,,(3),将函数文件的第一行前加“,%”,号,使它成为程序文件来作初步调试。第一行中的输入变元,可改用,input,或赋值语句来输入,调试好后再改回为函数文件。,,(4),在程序中使用以下人机交互命令,也可大大提高程序的调试程度。,,

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

相关资源

更多
正为您匹配相似的精品文档

相关搜索

关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!