第4章MATLAB程序设计.ppt
《第4章MATLAB程序设计.ppt》由会员分享,可在线阅读,更多相关《第4章MATLAB程序设计.ppt(64页珍藏版)》请在课桌文档上搜索。
1、第4章 MATLAB程序设计,本章内容,变量、表达式与数组运算操作符、关系及逻辑运算符程序结构及流程控制语句M源文件及调试M文件的加速执行,4.1 MATLAB的变量与表达式,1.变量的命名规则,变量名和函数名对字母的大小写敏感;变量名的第一个字符必须是一个英文字母,最多可包括31个字符;变量名可由英文字母、数字和下划线混合组成;变量名中不得包含空格和标点,但可以由下连字符,2.局部变量与全局变量,局部变量:函数体内定义的变量,不能从其它函数和MATLAB工作空间访问。全局变量:在几个函数和MATLAB工作空间中共同拥有,均可访问的变量。在函数体所有赋值语句之前进行说明,所有共享的函数均要说明
2、。说明语句:global 变量名变量值;,3.永久变量,MATLAB的预定义变量,不能用clear删除,不能用who命令查看,主要有:ans;eps;pi;i,j;inf;NaN;realmax;realmin等。,4.MATLAB的基本表达式,表达式变量=表达式,表达式由变量名、运算符、数字和函数组成;“”两侧可以有空格;分号的作用;多个返回结果用括起来;ans 的作用。例:x=(3*42+exp(sin(45)/6,4.2 字符串数组、单元数组和结构数组,1.数据结构,2.字符串数组,所有字符串都用单引号括起来;字符串中的每个字符都是字符串变量中的一个元素;字符串中的字符以ASCII码形式
3、存储并区分大小;,数组的建立:,直接赋值法:如 a=uestc;中文字符;单引号输入;字符串的连接:括号或命令strcat多行字符串数组的直接创建:长度相等。字符串与其它类型的转换:int2str,num2str,mat2str字符串数组元素的标识。,3.单元数组,数组的基本成分是单元,单元内可存放任何类型、任何大小的数组,且同一单元数组内各单元的内容可以不同。单元数组元素的标注:A(2,3)指二行三列的单元元素;A2,3指二行三列单元的内容;,单元数组的建立方法,1)赋值方法例:方法1 方法2A(1,1)=matlab;A1,1=matlab;A(1,2)=6.0;A1,2=6.0;A(2,
4、1)=矩阵;A2,1=矩阵;A(2,2)=1,2,3;4,5,6;7,8,9;A2,2=1,2,3;,2)单元数组方法例:A=matlab,6.0;矩阵,1,2,3;4,5,6;7,8,93)cell 命令方法A=cell(2);,单元数组的访问和显示,A1,1 A(1,1)ans=ans=matlab matlab,显示:celldisp:显示所有内容,一般的显示方法其矩阵只给大小。cellplot:显示图形(),例:cellplot(A),4.结构数组,和单元数组一样,可以存放不同数据类型于一个结构数组内,建立和访问都要通过结构名和域名格式为:结构数组名.域名例:student.name=
5、唐军;student.age=21;student.class=200304;则:student=name:唐军 age:21 class:200304 也可用函数struct建立:s=struct(field1,value1,field2,value2,.),4.3 MATLAB运算符与操作符,运算符:,操作符,4.3 关系运算与逻辑运算,1.关系运算,运算方式:标量与标量;标量与数组;数组与数组注:任何非零数被看作“1”!,A=3 4 8 9 0 2 5 3 7,B=4 4 1 7 8 4 5 1 7,E=(A=B)E=0 1 0 0 0 0 1 0 1,NE=(A=B)NE=1 0 1
6、1 1 1 0 1 0,A0=(A5)A0=0 0 1 1 0 0 0 0 1,2.逻辑运算&与|或 非,*运算方式:标量与标量;标量与数组;数组与数组。非的优先级高于与、或。,标量与标量a&b,当a、b全是非0时,运算结果为1,否则为0;a|b,当a、b中只要有一个非0,结果为1;a,当a是时,运算结果为,否则为,数组和数组 数组A、B比较的是相同位置的元素,按标量的运算规则逐个进行。运算结果是一个维数与A相同的数组。,标量和数组:标量b和数组A的每一个元素按标量关系运算规则逐个比较。运算结果是一个维数与数组A相同的数组,AB=A&BAB=1 1 1 1 0 1 1 1 1,A_B=A|BA
7、_B=1 1 1 1 1 1 1 1 1,C=AC=0 0 0 0 1 0 0 0 0,A=3 4 8 9 0 2 5 3 7,B=4 4 1 7 8 4 5 1 7,3.关系与逻辑函数,4.判断函数,函数见书。以find为例I=find(X)返回非零元素的位置标识向量。I,J=find(X)返回非零元素的位置标识矩阵。I,J,V=find(X)返回非零元素的位置标识矩阵及元素。例:4-8,A=0 4 8 9 0 2 5 3 7,find(A)ans=2 3 4 6 7 8 9,I,J,V=find(A)I=2 3 1 3 1 2 3,V=9 5 4 3 8 2 7,J=1 1 2 2 3 3
8、 3,A(find(A=0)=-5A=-5 4 8 9-5 2 5 3 7,运算优先级,4.4 MATLAB 程序结构,顺序结构循环结构1)for循环 for 循环变量=s1:s2:s3 循环体语句 end 其中s1为循环变量的初值,s2为循环变量的步长,s3为循环变量的终值。如果省略s2,则默认步长为1。可以嵌套,使用矩阵比循环效率高!,例 求出n阶Hilbert矩阵。function H=hilb(n)for i=1:n for j=1:n H(i,j)=1/(i+j-1);endend,2)while循环 while循环一般用于不能事先确定循环次数的情况,它的调用格式为 while 逻辑
9、变量 循环体语句 end,例:用while循环求1100间整数的和 sum=0;i=1;while i=100 sum=sum+i;i=i+1;end sum sum=5050,3.分支结构1)if-else语句,if 逻辑变量执行体语句endif条件语句的另一种调用格式为if 逻辑变量执行体语句1else执行体语句2end,if 逻辑变量1 执行体语句1 elseif 逻辑变量2 执行体语句2 elseif 逻辑变量3 执行体语句3 else 执行体语句n end,例 可以用下列程序得到符号函数。function y=signfun(x)if x0 y=-1;elseif x=0 y=0;e
10、lse y=1;end,2)switch-case-end分支结构switch switch_expr case case_exp1 ststement,ststement case case_expr2 ststement,ststement otherwise ststement,ststementend,例1:for month=1:12;switch month case3,4,5 season=spring case6,7,8 season=summer case9,10,11 season=autumn otherwise season=winter endend,例:str=in
11、put(Please input a string of Method);switch lower(str)将字符串转换为小写 case linear,bilinear disp(Method is linear)%显示 case cubic disp(Method is cubic)case nearest disp(Method is nearest)otherwise disp(Unknown method.)end,4.5 程序流控制语句,return 终止当前的命令序列,强制返回到调用函数或命令窗口。pause 使程序运行停止,等待用户按任意键继续。pause(n)break 用于中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 程序设计
链接地址:https://www.desk33.com/p-259584.html