




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法第第2章章 MATLAB的基本语法的基本语法 2.1 变量及其赋值变量及其赋值 2.2 运算符与数学表达式运算符与数学表达式 2.3 控制流控制流 2.4 数据的输入输出及文件的读写数据的输入输出及文件的读写2.5 基本数学函数基本数学函数2.6 基本绘图方法基本绘图方法2.7 M文件及程序调试文件及程序调试 第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法2.1 变量及其赋值变量及其赋值 2.1.1 2.1.1 标识符与数据格式标识符与数据格式 pipipxx 标识符是标志变量名、常量名、函数名和文件名的
2、字符串的总称。在MATLAB中,变量和常量的标识符最长允许19个字符。字符包括全部的英文字母(大小写52个)、阿拉伯数字和下划线等符号,标识符中第一个字符第一个字符必须是英文字母。2.1.2 2.1.2 矩阵及其元素的赋值矩阵及其元素的赋值 赋值就是把数赋予代表常量或变量的标识符。在MATLAB中,变量都代表矩阵。列矢量可被当作只有一列的矩阵;行矢量也可被当作只有一个行的矩阵;标量应看作11阶的矩阵。赋值语句的一般形式为: 变量表达式(或数)变量表达式(或数)1赋值要求赋值要求在输入矩阵时,应遵循以下规则:整个矩阵的值应放在方括号中;同一行中各元素之间以逗号“,”或空格分开;不同行的元素以分号
3、“;”隔开。例如:例如:a=1 2 3 4;5 6 7 8;9 10 11 12第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法 在MATLAB中,变量的元素(即矩阵元)用圆括号“()”中的数字(也称为下标)来注明,一维矩阵(也称数组)中的元素用一个下标表示,二维矩阵由两个下标数构成,以逗号分开,对三维矩阵则由三个下标数构成。3赋值技巧赋值技巧2变量的元素的标注变量的元素的标注如果赋值元素的下标超出了原有矩阵的大小,结果会怎样?如果赋值元素的下标超出了原有矩阵的大小,结果会怎样?例如:上例,例如:上例, a(4,5)=5 矩阵的行列会自动扩展矩阵的行列会自动扩展 例如:上例
4、,例如:上例,a(2,1)=5, 若将其改为若将其改为9,则可用,则可用a(2,1)=9;(1) 利用冒号“:”给数组元素赋值。 格式:t=j:i:k,% j为初始值,i是步长(省略时步长为1),k为终值(最后一个数要小于等于k)。 例如:例如:k=1:15,x=1:0.2:2(2) 利用冒号“:”给全行的元素赋值 例如:例如:a(1 , :)=11 12 13 14 15; a(:,2)=5 6 7 8 (3) 利用行、列标注构成新的矩阵 例如:例如:b=a(1,2 ,2,3)第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法3赋值技巧赋值技巧(4) 利用空矩阵可以缩减矩阵
5、的阶数 例如:例如: a(2,3,:)=; a(:, 3,4)= 4特殊矩阵和数组特殊矩阵和数组(1)单位矩阵函数单位矩阵函数eye()函数功能:产生对主角线元素为1,其它元素为0的单位矩阵。eye()的调用格式如下:A=eye(n) 返回一个nn阶单位矩阵;A=eye(m , n) 返回一个mn阶单位矩阵,或用A=eye(m , n);(2) zeros函数、函数、ones函数、函数、rand以及以及randn函数函数A=zeros(n) 返回一个nn阶零矩阵;A=zeros(m , n) 返回一个mn阶零矩阵;A=zeros(d1,d2,d3) 返回一个维数为d1d2d3的所有元素为0的数
6、组。A=ones(n) 返回一个nn阶全1矩阵;A=ones(m , n) 返回一个mn阶全1矩阵;A=ones(d1,d2,d3) 返回一个维数为d1d2d3的所有元素为1的数组。Rand 生成随机矩阵或数组,元素在(0,1)之间服从均匀分布;Randn 生成随机矩阵或数组,元素服从均值为0,方差为1的正态分布。例:例:x=rand(1,5) ; y=randn(5,1)第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法(3)linspace函数和函数和logspace函数函数linspace函数的调用格式如下:y=linspace(a,b) 产生一个行矢量y,该矢量把a和
7、b间的数等分100份而得到。y=linspace(a,b,n) 产生一个行矢量y,该矢量把a和b间的数等分n份而得到。5MATLAB内部特殊变量和常数内部特殊变量和常数变量变量ans:临时变量,通常指示当前的答案。常数常数eps:表示浮点相对精度;其值是从1.0到下一个最大浮点数之间的差值。变量值作为一些MATLAB函数计算的相对浮点精度,按IEEE标准,esp= 2-52近似为2.2204e-016。常数常数realmax:表示最大正浮点数;任何大于该值的运算都溢出。在具有IEEE标准浮点格式的机器上,realmax略小于21024 ,近似为1.7977e+308。常数常数realmin:表
8、示最小正浮点数;任何小于该值的运算都溢出。在具有IEEE标准浮点格式的机器上,realmin略小于2-1024 ,近似为2.2251e-308。 常数常数pi:表示圆周率 =3.1415926535897.。表达式4*atan(1)和imag(log(-1)产生相同的值。第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法常数常数Inf:代表正无穷大,一般被0除或溢出则产生无穷大结果。如2/0,210000均产生结果:Inf;而log(0)产生结果:-Inf。虚数单位虚数单位i,j:表示复数虚部单位,相当于 。NaN:表示非数值。如当Inf-Inf,Inf/Inf, 0*Inf
9、,0/0均产生该结果。16复数的赋值方式复数的赋值方式 MATLAB的每一个元素都可以是复数,实数是复数的特例。复数的虚数部分用i或j表示。例如:例如:c=3+5.2i。对复数矩阵有两种赋值方法:(1)可将矩阵元逐个赋予复数。可将矩阵元逐个赋予复数。 例如:例如: z=1+2i,3+4i;5+6i,7+8i 或或 z=1+2*i,3+4*i;5+6*i,7+8*i(2)将矩阵的实部和虚部分别赋值:例如:将矩阵的实部和虚部分别赋值:例如: z=1,3;5,7+2,4;6,8*i这里*不能省略7变量检查变量检查在程序调试或变量的赋值过程,往往需要检查工作空间中的变量、变量的阶数以及变量赋值内容。在
10、检查变量及其阶数等内容时,既可用工作空间窗口,也可在命令窗口使用who或whos命令来完成检查。当查看某变量的赋值情况,可在命令窗口直接键入该变量名回车即可。 第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法2.2 运算符与复数运算 算术运算符:算术运算符:进行数值计算。 关系运算符:关系运算符:比较两个操作数的大小。 逻辑运算符:逻辑运算符:进行逻辑运算。 2.2.1 2.2.1 算术运算符算术运算符 (1)矩阵加减法矩阵加减法“”:AB功能:两矩阵对应元素相加减。因此,A和B两矩阵必须有相同的大小,或其中之一 为标量,标量可以与任意大小的矩阵相加。例如:若例如:若a=1
11、 2 3;b=4 5 6,c=a+b,则,则c=5 7 8; 若若d=a-5,则,则d=-4 -3 -2 (2)矩阵相乘矩阵相乘“*”:A*B 功能:C =A*B为两矩阵线性代数的乘积,即例如:例如: a=1 2 3;b=4 5 6 则:则:a*b=32; A=1 2 3;4 5 6;B=2 3 5;1 4 6,C=A*B;则;则C= 23 27 53 60nkjkBkiAjiC1),(),(),(第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法2.2 运算符与复数运算 2.2.1 2.2.1 算术运算符算术运算符 (3) 矩阵元素相乘矩阵元素相乘“.*”:A.*B功能:矩
12、阵A和B的对应元素相乘;因此,A和B必须大小相同,或其中之一为标量。 例如:例如:a=1 2 3;b=4 5 6;则:;则:a.*b=4 10 18; c=1 2 3 4;z=1+2i,3+4i;5+6i,7+8i;则则c.*z ans = 1.0000 + 2.0000i 6.0000 + 8.0000i 15.0000 +18.0000i 28.0000 +32.0000i; 2*a ans = 2 4 6(4)矩阵右除矩阵右除“B/A”与左除与左除“AB”如果A为一非奇异矩阵,则B/A与AB可通过A的逆矩阵与B矩阵得到:B/A=B*inv(A); AB=inv(A)*B。例如:例如:A=
13、3,1;2,4,B=4,5,C=3;4 则则B/A ans= 0.6000 1.1000AC ans= 0.8000 0.6000第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法(5)矩阵元素右除矩阵元素右除“A./B”与左除与左除“A.B” 矩阵元素右除“A./B”表示矩阵元素A(i,j)/B(i,j);矩阵元素左除“A./B” 表示矩阵B(i,j)/A(i,j),因此,A和B必须大小相同,或者其中之一为标量。(6)矩阵幂矩阵幂“”:Xp 如果p为标量,表示X的p次幂;如果X为标量,而p为矩阵,Xp用特征值和特征特征向量表示X的矩阵p次幂。注意X和p不能同时为矩阵,但必须
14、是方阵。(7)矩阵元素幂矩阵元素幂“.”:A.B A.B表示矩阵元素A(i,j)的B(i,j)次幂,A与B必须大小相同,或者其中之一为标量。(8) 矩阵转置矩阵转置“ ”A表示矩阵A的线性代数转置。对于复矩阵,表示复共轭转置。(9) 非共轭转置非共轭转置“ . ”A.表示非共轭转置;对于复矩阵,不包括共轭。(10)冒号操作符冒号操作符“:” 冒号是一个非常有用的操作符;可以产生向量、数组下标以及for循环。第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法指令行中的标点符号名名 称称标标 点点作作 用用空格空格(为机器辨认)用作输入量与输入量之间的分隔符(为机器辨认)用作输入
15、量与输入量之间的分隔符逗号逗号,用作要显示计算结果的指令与其后指令的分隔;用作输入量与输入量之间的用作要显示计算结果的指令与其后指令的分隔;用作输入量与输入量之间的分隔符;用作数组元素分隔符号分隔符;用作数组元素分隔符号黑点黑点.用作数值表示中的小数点用作数值表示中的小数点分号分号;用作不显示计算结果指令的用作不显示计算结果指令的“结尾结尾”标志;用作不显示计算结果指令与其后标志;用作不显示计算结果指令与其后指令的分隔;用作数组的行间分隔符;指令的分隔;用作数组的行间分隔符;冒号冒号:用以生成一维数组;用作单下标援引时,表示全部元素构成的长列;用作多用以生成一维数组;用作单下标援引时,表示全部
16、元素构成的长列;用作多下标援引时,表示那维上的全部下标援引时,表示那维上的全部注释号注释号%由它由它“启首启首”后的所有物理行部分被看作非执行的注释后的所有物理行部分被看作非执行的注释单引号对单引号对 字符串记述符字符串记述符圆括号圆括号( )在数组援引时用;函数指令输入宗量列表时用在数组援引时用;函数指令输入宗量列表时用方括号方括号 输入数组时用;函数指令输出宗量列表时用输入数组时用;函数指令输出宗量列表时用花括号花括号 元胞数组记述符元胞数组记述符下连符下连符_(为使人易读)用作一个变量、函数或文件名中的连字符(为使人易读)用作一个变量、函数或文件名中的连字符续行号续行号由三个以上连续黑点
17、构成。它把其下的物理行看作该行的由三个以上连续黑点构成。它把其下的物理行看作该行的“逻辑逻辑”继续,以继续,以构成一个构成一个“较长较长”的完整指令的完整指令“At”号号放在函数名前,形成函数句柄;放在目录名前,形成用户对象类目录放在函数名前,形成函数句柄;放在目录名前,形成用户对象类目录说明说明为保证指令正确执行,以上符号一定要在英文状态下输入。为保证指令正确执行,以上符号一定要在英文状态下输入。第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法关系比较结果只有两种可能,即1或0。1表示关系式这“真”,即关系式正确;0表示该关系为“假”,即它不成立。例如:例如:a=1 2,
18、b=2 1, 则则ab 结果为结果为0 1,a=b 结果为结果为0 0 例:例:A=1:9,B=10-A, tf=A4, tf=B-(A2), tf=(A=B) 2.2.2 2.2.2 关系操作符关系操作符 关系运算是指两个元素之间数值的比较。MATLAB所提供的关系操作符如表所示。注意:注意:“=”和和“ =”意义的不同意义的不同例:例:x=(-3:3)/3,sin(x)./x x=(-3:3)/3,x=x+(x=0)*eps, sin(x)./x第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法2.2.4 2.2.4 关系与逻辑函数关系与逻辑函数其他关系与逻辑函数 测试函
19、数 第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法2.2.52.2.5复数运算复数运算 1MATLAB中所有的运算符和函数都对复数有效。 2复数的共轭可利用函数“conj”来完成 2.3 控制流控制流 2.3.1 If2.3.1 If语句语句 if语句称为条件执行语句。其关键字包括if、else、elseif和end。 格式之一格式之一: if 表达式表达式 语句组语句组A end其工作流程如图所示。注意:注意:语句中的end是决不可少的,没有它,在逻辑表达式为0时,就找不到继续执行程序的入口。例例: n=input(n=?); if rem(n,2)=0; disp(n
20、 is even); end第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法 格式之二:格式之二: if 表达式表达式 语句组语句组A else 语句组语句组B end其工作流程如图所示。例例: n=input(n=?); if rem(n,2)=0; disp(n is even); else disp(n is odd); end第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法 格式之三:格式之三: if 表达式表达式1 语句组语句组A elseif 表达式表达式2 语句组语句组B else 语句组语句组C end工作流程原理如图2.3所示。例例:
21、n=input(n=?); if n1 EPS=EPS/2; num=num+1; end num EPS=2*EPS第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法2.3.4 for2.3.4 for语句语句for语句也是循环语句,但与while语句不同的是,它循环执行一组语句的执行次数是确定。其关键字包括for、end、break等。调用的基本格式如下: for index=初值:增量:终值 语句组A end功能:把语句组A(亦称为循环体)反复执行N次。循环次数N为: N1+(终值-初值)/增量在每次执行时程序中的index的值按“增量”增加。注意:注意:(1)For循
22、环不能用For循环内重新赋值循环变量n来终止。例如:例如: for n=1:7 x(n)=sin(n*pi/10) end例如:例如: for n=1:7 x(n)=sin(n*pi/10) n=7; end例如:例如: for n=1:7 x(n)=sin(n*pi/10) if n=5 break end end第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法注意:注意:(2)为了提高处理的速度,在For循环(While循环)被执行之前,应预先分配数组。例例: x=zeros(1,10); for n=1:10 x(n)=sin(n*pi/10); end x(3) 当
23、有一个等效的数组方法来解给定的问题时,应避免用For循环。上例:上例:n=1:10; x=sin(n*pi/10)2.3.4 for2.3.4 for语句语句第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法2.3.4 for2.3.4 for语句语句注意:注意:(4) for循环可按需要嵌套。与其它的编程语言类似,for语句可以嵌套使用。例:例: for i=1:3 for j=1:4 a(i,j)=i*j; end; end; a(5)语句1:10是一个标准的MATLAB数组创建语句。在For循环内接受任何有效的MATLAB数组。例:例:A=1,2,9,18;24,31,
24、12,21; for a=A b=a(2)-a(1) end第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法2.4 2.4 数据的输入输出及文件的读写 2.4.1 2.4.1 交互输入与输出命令和函数交互输入与输出命令和函数1键盘输入命令键盘输入命令input格式一:格式一:u=input(提示内容提示内容)在屏幕上显示提示内容,等待从键盘输入,将输入的值赋给数据变量u。例:例:x=input(请输入变量请输入变量x的值的值)根据提示内容输入根据提示内容输入1 2 3;5 6 7;8 9 10注意注意:如果未输入任何字符,而按下回车键,则返回一个空矩阵。:如果未输入任何字符
25、,而按下回车键,则返回一个空矩阵。格式二:格式二: u=input(提示内容提示内容,s)在屏幕上显示提示内容,等待从键盘输入,将输入的符号以字符串形式赋给字符串变量u。例:例: string=input(请输入字符串:请输入字符串:,s);根据提示内容输入根据提示内容输入Good!Better!注意:注意:(1)如果未输入任何字符,而按下回车键,则返回一个空字符。)如果未输入任何字符,而按下回车键,则返回一个空字符。 (2)n字符串代表换行,提示文本中可以包括一个或多个字符串代表换行,提示文本中可以包括一个或多个n字符串。字符串。 (3)如要显示)如要显示“”,要用,要用。例:例:u=inp
26、ut(提示内容提示内容nnn,s);u=input(提示内容提示内容,s)第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法2.4 2.4 数据的输入输出及文件的读写 2.4.1 2.4.1 交互输入与输出命令和函数交互输入与输出命令和函数2. 菜单输入命令菜单输入命令menu功能:产生一个供用户输入的选择菜单。格式:格式:k=menu(title,选项选项1,选项选项2,选项选项n)显示以字符串变量title为标题的菜单,选择为字符变量:选项1,选项2,选项n,并将所输入的值赋给变量k。例如:例如:k=menu(学生名单学生名单,选项选项1,选项选项2,选项选项3,选项选项
27、n)3暂停执行命令暂停执行命令pausepause 常用在M文件中,用于停止执行,直接按任意键继续执行;pause(n) 暂停执行n秒后继续执行;pause on 允许一系列pause命令暂停程序执行;pause off 保证任何pause命令和pausea(n)语句不能暂停程序执行。4显示命令显示命令 disp功能:显示指定的变量或变量的内容。调用格式:调用格式:disp(变量名变量名) 例如:例如:k=1:10;disp(k)。disp(显示该语句显示该语句)第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法5按格式要求输出变量命令按格式要求输出变量命令sprintf功能
28、:按格式要求输出变量(P32-33)。调用格式:调用格式:sprintf(显示格式显示格式,变量变量)。2.4.2 文件输入输出命令与函数(阅读) 1save功能:用以将工作空间中的变量保存到磁盘上。格式一:格式一: save 将工作空间中的所有变量保存在一个名为:“matlab.mat”的二进制格式文件中,该文件可通过load命令来重新装入工作空间。格式二:格式二:save文件名文件名 变量名变量名将工作空间中指定的“变量名”保存在指定“文件名.mat”的二进制格式文件中。格式三:格式三:save文件名文件名 选项选项使用“选项”指定ASCII文件格式,将工作空间中所有变量保存到“文件名”所
29、指定的文件中。第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法2. load:功能:从磁盘文件中重新调入变量内容到工作空间。格式一:格式一:load 将保存在“matlab.mat”文件中的所有变量调入到工作空间。格式二:格式二: load 文件名文件名从“文件名 . mat”中调入变量,可给出全部路径。3. fopen功能:打开文件或获得打开文件信息。格式一:格式一:f_id=fopen(文件名,文件名,允许模式允许模式) 以允许模式指定的模式打开“文件名”所指定的文件,返回文件标识f_id;允许模式允许模式 可以是下列几个字符串之一:r : 打开文件进行读(缺省型式);
30、w : 删除己存在文件中的内容或生成一个新文件,打开进行写操作; a :打开一个己存在的文件或生成并打开一个新文件,进行写操作,在文件末尾添加数据;第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法格式二:格式二:f_id , message=fopen (文件名,文件名,允许模式允许模式,格式,格式) 功能:用指定的数据“格式”打开数据文件,返回文件标识和打开文件信息两个参数。“数据格式数据格式”。如果fopen成功打开文件,则返回文件标识f_id,message内容为空,如果不能成功打开,则返回f_id值为1,message中返回一个有助于判断错误类型的字符串。有三个值是
31、预先定义的,不能打开或关闭: 0:表示标准输入,一直处于打开读入状态。 1:表示标准输出,一直处于打开追加状态。 2:表示标准错误,一直处于打开追加状态。4fclose功能:关闭一个或多个已打开的文件。格式一:格式一:status=fclose(f_id) 关闭指定文件,返回0表示成功,返回-1表示失败。格式二格式二status=fclose(all)功能: 关闭所有文件,返回0表示成功,返回-1表示失败。 第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法5fread格式一:格式一:A, count=fread(f_id, size, 精度精度) 功能:从指定文件中读入二进
32、制数据,将数据写入到矩阵A中;可选输出count返回成功读入元素个数;f_id为整数文件标识,其值由fopen函数得到;可选参数size确定读入多少数据,如果不指定参数size,则一直读到文件结束为止,参数size合法选择有: n :读入n个元素到一个列向量; inf :读到文件结束,返回一个与文件数据元素相同的列向量; m, n:读入足够元素填充一个mn阶矩阵,填充按列顺序进行,如果文件不够大,则填充0。精度表示读入数据精度的字符串,控制读入每个值的数据位,这些位可以是整数型、浮点值或字符。格式二:格式二:A, count=fread(f_id, size,精度精度,skip)可选参数ski
33、p,指定每次读操作跳过字节数,如果精度是某一种位格式,则每次读操作将跳过相应位数。6fwrite功能:向文件中写入二进制数据。格式一:格式一:count=fwrite (f_id, A,精度精度) 将矩阵A中元素写入指定文件,将其值转换为指定的精度。格式二:格式二:count=fwrite(f_id,A,精度精度,skip)可用参数skip指定每次写操作跳过指定字节。第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法7fscanf格式一:格式一:A=fscanf (f_id, 格式格式)从由f_id所指定的文件中读入所有数据,并根据格式字符串进行转换,并返回给矩阵A,格式字符
34、串指定被读入数据的格式。格式二:格式二:A, count=fscanf(f_id,格式格式,size)读入由size指定数量的数据,并根据格式字符进行转换,并返回给矩阵A,同时返回成功读入的数据数量count。8fprintf格式一:格式一:count=fprintf(f_id,格式格式,A,) 将矩阵A或其它矩阵的实部数据以格式字符串指定的形式进行规格化,并将其写入指定的文件中,其返回值为写入数据的数量。格式二:格式二: fprintf(格式格式,A,) 将A或其它值以格式给定的形式输出到标准输出显示屏幕上。 第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法9fgets功
35、能:以字符串形式返回文件中的下一行内容,包含行结束符。格式一:格式一:ctr=fgets(f_id) 返回文件标识为f_id的文件中的下一行内容,如果遇到文件结尾(EOF),则返回-1,所返回的字符串中包括文本结束符,用fgetl()则返回的字符串中不包括行结束符。格式二:格式二:str=fgest(f_id,n) 返回下行中最多n个字符,在遇到行结束符或文件结束(EOF)时不追加字符。10fgetl功能:以字符串形式返回文件中的下一行内容,但不含行结束符。格式:格式:str=fgetl(f_id)返回文件标识为文件中的下一行内容,如果遇到文件结尾,则返回1,所返回的字符串中不包括行结束符。第
36、 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法11ferror功能:查询MATLAB关于文件输入、输出操作的错误。messgeg=ferror(f_id) 将标识为f_id的已打开文件的错误信息返回给message变量。12feof功能:测试文件结尾(EOF)。格式:格式:eoftest=feof(f_id) 测试指定文件是否设置了EOF;如果返回1则表示设置了EOF指示器,返回0未设置。第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法13imread 功能: 从图像文件中读入图像格式一:格式一: A=imread(文件名,(文件名,图像文件格式图像文件
37、格式)将文件名指定的图像文件读入A,A为无符号8位整数(uint8)。如果文件为灰度图像,则A为一个二维数组;如果文件是一个真彩色RGB图像,则A是一个三维数组(m*n*3)。格式二:格式二:A, map=imread(文件名,(文件名,图像文件格式图像文件格式)读入索引图像到矩阵A,其调色板值返回给map,A为无符号8位整数(uint8),map为双精度浮点数,其值在0,1范围内。14imwrite :将图像写入图像文件中。格式一:格式一: imwrite(A, 文件名,文件名,图像文件格式图像文件格式)格式二:格式二: imwrite(A,map,文件名,文件名,图像文件格式图像文件格式)
38、将A中的索引图像及其相关的调色板map存放到指定文件。调色板map必须是MATLAB的有效调色板。注意大多数图像文件格式不支持大于256条的调色板。15imfinfo 功能:返回图像文件信息格式:格式: info=imfinfo(文件名,文件名,图像文件格式图像文件格式)返回一个图像信息结构,或结构数组。图像文件格式与imread函数的一样。第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法16auread功能: 读入声音文件(.au)格式一:格式一: Y=auread (aufile) 读入由文件名aufile指定的声音文件,返回采样数据给变量Y。如果文件名中没有扩展名,则
39、自动在其后加上.au作为扩展名。幅值在-1,1范围内。支持多通道数据格式:8-bit mu-law;或 8-, 16-, 32-bitlinear。格式二:格式二: Y, Fs,bits=auread(aufile) 返回采样率Fs(Hz)以及文件中每数据编码时所用的位数(bits)。17Auwrite 功能:向文件(. au)中写入声音数据。格式一:格式一: auwrite(A, 文件名文件名. Au )向文件名. au指定的文件中写入声音数据,数据在A中以一个通道一列的方式安排,幅值超过-1, +1范围时,在写入前先进行剪裁处理。格式二:格式二: auwrite(A, Fs, 文件名文件名
40、. au )用指定的数据采样Fs(Hz) 写入声音数据。第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法18wavread功能: 读入声音文件(.wav)格式一:格式一: A=wavread (文件名文件名.wav) 读入由文件名指定的Microsoft声音文件(. wav),返回采样数据给变量A。如果文件名中没有扩展名,则自动在其后加上.wav作为扩展名,幅值在-1,1范围内。格式二:格式二: A,Fs,bits=wavread(文件名文件名.wav) 返回采样率Fs(Hz)以及文件中每数据编码时所用的位数(bits)。19wavwrite功能:向Microsoft WA
41、V声音文件(.wav)中写入声音数据格式一:格式一: wavwrite (A, 文件名文件名.wav)向指定的文件中写入声音数据,数据在A中以一个通道一列的方式安排,幅值超过-1, +1范围时,在写入前先进行剪裁处理。格式二:格式二: wavwrite(A, Fs, 文件名文件名.wav)用指定的数据采样Fs(Hz) 写入声音数据。第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法2.5 基本数学函数 2.5.1 三角函数1正弦正弦sin函数与反正弦函数函数与反正弦函数asin函数函数格式:格式:Asin(X)功能:对矩阵或数组X的每个元素求正弦值, 所有角度用弧度弧度表示。
42、格式:格式:Xasin(A)功能:对于A的元素求反正弦值,结果为弧度。例:例:(1 1)s=(0:0.1:1)*2*pi;y1=sin(s);y2=sin(t)+sin(s) (2) t=(1:0.2:2)*5*pi;z1=asin(t);z2=asin(t).*sin(t)第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法3余弦余弦cos函数与反余弦函数函数与反余弦函数acos函数函数格式:格式:Acos(X)功能:对矩阵或数组X的每个元素求余弦值,所有角度用弧度表示。格式:格式:Xacos(A)功能:对于A的元素求反余弦值,结果为弧度。4双曲余弦双曲余弦cosh函数与反双
43、曲余弦函数函数与反双曲余弦函数acosh函数函数格式:格式:Acosh(X)功能:对矩阵或数组X的元素求双曲余弦值。格式:格式:Xacosh(A)功能:对于A的元素求反双曲余弦值。2 2双曲正弦双曲正弦sinhsinh函数与反双曲正弦函数函数与反双曲正弦函数asinhasinh函数函数格式:格式:A Asinh(Xsinh(X) )功能:对矩阵或数组X的每个元素求双曲正弦值。格式:格式:Xasinh(A)功能:对于A的元素求反双曲正弦值。第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法6四象限反正切四象限反正切atan2函数函数格式:格式:P=atan2(Y,X)功能:四象
44、限反正切函数。返回大小与Y、X相同的矩阵或数组,由Y和X对应元素的实部求反正切值得到,其中虚部忽略。7 7双曲正切双曲正切tanhtanh函数与反双曲正切函数与反双曲正切atanhatanh函数函数格式:格式:A Atanh(Xtanh(X) )功能:对于X的每个元素求双曲正切值。格式:格式:Xatanh(A)功能:对于A的每个元素求反双曲正切值。 5正切正切tan函数与反正切函数函数与反正切函数atan函数函数格式:格式:Atan(X)功能:对矩阵或数组X的每个元素求正切值,所有角度用弧度表示。格式:格式:Xatan(A)功能:对于A的每个元素求反正切值,结果为弧度。第 2 章 MATLAB
45、的基本语法第 2 章 MATLAB的基本语法9 9双曲正割双曲正割secsec函数与反双曲正割函数与反双曲正割asecasec函数函数格式:格式:A Asech(Xsech(X) )功能:对X的每个元素求双曲正割。格式:格式:Xasech(A)功能:返回A的每个元素的反双曲正割值。1010余割余割csccsc函数与反余割函数与反余割acscacsc函数函数格式:格式:A Acsc(Xcsc(X) )功能:对X的每个元素求正割。格式:格式:Xachc(A)功能:返回A的每个元素的反正割值。8 8正割正割secsec函数与反正割函数与反正割asecasec函数函数格式:格式:A Asec(Xsec
46、(X) )功能:对X的每个元素求正割。格式:格式:Xasec(A)功能:返回A的每个元素的反正割值。第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法12余切余切cot函数与反余切函数与反余切acot函数函数格式:格式:A=cot(X)功能:对X的每个元素求余切。格式:格式:Xacot(A)功能:返回A的每个元素的反余切值。13双曲余切双曲余切coth函数与反双曲余切函数函数与反双曲余切函数acoth函数函数格式:格式:A=coth(X)功能:对X的每个元素求双曲余切。格式:格式:Xacoth(A)功能:返回A的每个元素的反双曲余切值11双曲余割双曲余割csch函数与反双曲余
47、割函数与反双曲余割asch函数函数格式:格式:A=csch(X)功能:对X的每个元素求双曲余割。格式:格式:Xacsch(A)功能:返回A的每个元素的反双曲余割值。第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法2.5.2 2.5.2 指数、对数、幂运算指数、对数、幂运算 1指数指数exp函数与自然对数函数与自然对数log函数函数格式:格式:Aexp(X)功能:返回X每个元素的以e为底的指数值。格式:格式:Xlog(A)功能:返回A的每个元素的自然对数。2常用对数常用对数logl0函数函数格式:格式:Xlogl0(A)功能:对A的每个元素求常用对数。3 log2函数和幂函数
48、函数和幂函数pow2格式:格式:Xlog2(A)功能:对A的每个元素计算其以2为底的对数。格式:格式:A=pow2(X)功能:A的元素为2对X每个元素求幂得到。4平方根函数平方根函数格式:格式:A=sqrt(X)功能:返回对数组X每个元素求平方根的数组,如果元素为负或复数,则结果为复数。例子:例子:a=exp(4),b=pow2(10),c=log10(10)第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法2.5.32.5.3复数的基本运算复数的基本运算 1求复数实部函数求复数实部函数real格式:格式:X=real(Z)功能:返回复数Z的每个元素的实部。2求复数的虚部函数
49、求复数的虚部函数imag格式:格式:Y=imag(Z)功能:返回复数Z的每个元素的虚部。3绝对值和复数模函数绝对值和复数模函数abs格式:格式:A=abs(Z)功能:返回Z每个元素的绝对值。如果Z的元素是复数,则返回其模。4求相角函数求相角函数angle格式:格式:P=angle(Z)功能:对Z的每个元素求相角。5共轭函数共轭函数conj格式:格式:C=conj(Z)功能:对Z的每个元素求共轭复数。例:例:a=1+i,2+2i,3+3i; b=4+5i,6+7*i,8+9*i;求实部、虚部、模、相角求实部、虚部、模、相角和共轭和共轭。第 2 章 MATLAB的基本语法第 2 章 MATLAB的
50、基本语法2.5.42.5.4数据的取舍与保留数据的取舍与保留1向向0方向取整数函数方向取整数函数fix格式:格式:I=fix(X)返回X中每个元素的最靠近零的整数。若X为复数,则分别对X的实部和虚部取整。2向向-方向取整数函数方向取整数函数floor格式:格式:I=floor(X)返回X中每个元素的最靠近该元素的最小整数。若X为复数,则分别对X的实部和虚部取最小整。3向向方向取整数函数方向取整数函数ceil格式:格式:I=ceil(X)返回X中每个元素的最靠近该元素的最大整数。若X为复数,则分别对X的实部和虚部取最大整数。4四舍五入取整数函数四舍五入取整数函数round格式:格式:I=roun
51、d(X)返回X中每个元素的最靠近该元素的整数。若X为复数,则分别对X的实部和虚部取整数。第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法5模数余函数模数余函数mod格式:格式:M=mod(X,Y)返回X关于Y的余数。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)。例:例:I1=mod(16,3),I2=mod(-16,3), I3=mod
52、(16,-3)例例 :I1=rem(16,3),I2=rem(-16,3), I3=rem(16,-3)第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法2.6 基本绘图方法基本绘图方法2.6.1 图形窗口的控制 在MATLAB中,图形的绘制必须在图形窗中进行。通常,只要执行了任意一种绘图命令,图形窗口(Figure)就会自动产生。此时,所生成的图形窗口称为当前图形窗,绘图命令所绘制的图形将在当前图形窗中完成。1figure命令命令格式:格式:figure 或或 figure(N) 功能:创建一个图形窗口。使编号为N的图形窗口成为当前图形窗口,即图形窗口处于可视状态。如果窗口
53、N不存在,则将创建一个句柄为N的图形窗口。2clf命令命令:清除当前图形窗口中的所有的内容。格式:格式:clf3close命令命令:关闭图形窗口格式一:格式一:close 或或 close (N) 关闭当前图形窗口或指定编号关闭当前图形窗口或指定编号N的图形窗口。的图形窗口。格式二:格式二:close all 关闭所有图形窗口。关闭所有图形窗口。第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法4hold命令命令格式:格式:hold on (off)功能:保持当前图形窗的内容,或取消hold on的命令功能,恢复系统默认状态。通常,MATLAB在执行某一绘图命令时,系统会自动
54、将当前图形窗口中的内容清除,然后再绘制。hold命令的功能就是保持当前图形窗的内容,使后续绘制函数仍可该图形窗口中完成绘图,实现一张图中绘制多个图形。若再键入hold命令就解除冻结。这种拉线开关式的控制有时会造成混乱,可以用hold on和hold off命令来得到确定的状态。5subplot命令命令功能:将一个图形窗口划分为多个子图形窗口格式:格式:subplot(m,n,p) 或或 subplot(nmp)将图形窗口分成nm个子图形窗口,并选择第p个子图形窗口作为当前图形窗口,供绘制函数作图使用。第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法2.6 基本绘图方法基本绘
55、图方法1. 二维图形绘制命令二维图形绘制命令plot MATALB为用户提供了一个基本的二维曲线绘图函数plot。格式一:格式一: plot(y)-输入一个数组的情况输入一个数组的情况功能:如果y是一个数组,函数plot(y)给出线性直角坐标的二维图,该二维图以y中元素的下标作为X坐标,y中元素的值作为Y坐标,一一对应画在XY坐标平面图上,而且将各点以直线相连。若y的元素是复数,则plot(y)等价于plot(real(y),imag(y),其中real(y)是y的实部,imag(y)是y的虚部。若y是矩阵,就按列绘制曲线,曲线的条数等于y矩阵的列数。格式二:格式二: plot(x,y)-输入
56、两个数组的情况输入两个数组的情况功能:绘出以x元素为横坐标、y元素为纵坐标的曲线。数组x和y必须具有相同长度。2.6.2 2.6.2 二维图形的绘制二维图形的绘制 例例(1) y=5*(rand(1,10)-.5);plot(y).(2) title(my first plot),xlabel(n);ylabel(Y),grid例例: close all;clear; t=0:0.02:2;y=3*sin(t).*exp(-2*t); plot(t,y)第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法2线型、标记符号及颜色的设置线型、标记符号及颜色的设置为了设定线型、颜色以
57、及标记符号,用户只需在plot的输入变量组后面,加一个引号,在引号内部放入线型、颜色以及标记符号的标志符即可完成。格式一:格式一: plot(y,字符串字符串) 格式二:格式二:plot(x, y,字符串字符串)3图形的标注、网格以及图例说明图形的标注、网格以及图例说明(1) 添加图形标题命令添加图形标题命令title 格式:格式:title(string)功能:在当前坐标系的顶部加一个文本串string,作为该图形的标题。(2) 添加坐标轴标志函数添加坐标轴标志函数xlabe、 ylabel、zlabel格式:格式:xlabel(text) 或或 ylabel(text) 或或zlabel(
58、text)功能:给当前X轴或Y轴或Z轴标注文本标注。例:例:t=0:0.02:2;y=3*sin(t).*exp(-2*t); plot(t,y,*b)例:例: t=0:0.02:2;y=3*sin(t).*exp(-2*t); plot(t,y,:k)例:例: t=0:0.02:2;y=3*sin(t).*exp(-2*t); plot(t,y,+r-)第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法(3)设置网格线命令设置网格线命令grid格式:格式:grid on(off)功能:对当前坐标图加上网格线或撤消网格线。若直接调用grid命令即可设置或撤消网格线。(4)图形
59、标注函数图形标注函数legend格式:格式:legend( string1, string2,string3, .)功能:在当前图中添加图例。格式:格式:Legend off功能:撤消当前坐标图上的图例。(5)文本注释函数文本注释函数text,gtext格式格式(一一):text(X,Y,string)功能:在二维图中(X,Y)位置标注文本注释string。格式格式(二二):text(X,Y,Z,string) 功能:在三维图中(X,Y,Z)位置标注文本注释string。格式格式(三三):gtext(string) 功能:用鼠标拖动来确定标注文字string的位置。例子:例子:x=0:pi/5
60、0:2*pi;y=sin(x);y2=cos(x);figure(1);plot(x,y,k-,x,y2,b-);grid on;legend(sin(alpha),cos(alpha);text(pi,0,leftarrow sin(alpha);gtext(cos(alpha)rightarrow); title(sin(alpha)和和cos(alpha);xlabel(alpha);ylabel(sin(alpha)和和cos(alpha)第 2 章 MATLAB的基本语法第 2 章 MATLAB的基本语法例:例:z=0:0.1:2*pi;x=sin(z);y=cos(z);subpl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2016-学年高中历史 第五单元 法国民主力量与专制势力的斗争 第2课 拿破仑帝国的建立与封建制度的复辟教学设计 新人教版选修2
- 2024-2025学年高中政治 第二单元 人民当家作主 第五课 我国的根本政治制度 1 人民代表大会:我国的国家权力机关教学设计 部编版必修3
- 吉林艺术学院《物联网原理及应用》2023-2024学年第二学期期末试卷
- 湖南农业大学东方科技学院《耳鼻咽喉科学》2023-2024学年第一学期期末试卷
- 河南科技大学《科学与工程计算方法》2023-2024学年第二学期期末试卷
- 四川铁道职业学院《水产微生物学实验》2023-2024学年第二学期期末试卷
- 上海工艺美术职业学院《文本解读与训练》2023-2024学年第一学期期末试卷
- 发布前期物业服务合同
- 双方协议劳动合同
- 内墙工程施工合同
- 杜甫《客至》课件-高中语文统编版选择性必修下册
- 三创赛团队指导老师承诺书
- 2024年中小学教师 高级职称专业水平能力题库 (含答案)
- 机械制造厂质量管理手册
- (完整)中医症候积分量表
- 教职工电信诈骗培训方案
- 全国国家级园区名单
- 初中数学七年级下册 加减消元法 全国一等奖
- 眼科病人的心理护理支持与疏导学习
- 相邻权纠纷知识讲座
- 利用智能垃圾分类系统促进资源回收利用
评论
0/150
提交评论