《Matlab程序设计说明.ppt》由会员分享,可在线阅读,更多相关《Matlab程序设计说明.ppt(45页珍藏版)》请在优知文库上搜索。
1、1Matlab 编程基础编程基础数学软件数学软件 Matlab数学实验数学实验2本讲主要内容本讲主要内容n M 文件文件n Matlab 编程基础编程基础l 算术运算、关系运算、逻辑运算算术运算、关系运算、逻辑运算l 控制结构:顺序结构、选择结构、循环结构控制结构:顺序结构、选择结构、循环结构3Matlab 编程入门编程入门l Matlab 作为一种广泛应用于科学计算的工具软件,不仅作为一种广泛应用于科学计算的工具软件,不仅具有强大的数值计算能力和丰富的绘图功能,同时也可以具有强大的数值计算能力和丰富的绘图功能,同时也可以与与 C、FORTRAN 等高级语言一样进行等高级语言一样进行程序设计程
2、序设计l 利用利用 Matlab 的程序控制功能,将相关的程序控制功能,将相关 Matlab 命令编成命令编成程序存储在一个文件中(程序存储在一个文件中(M 文件文件),然后在命令窗口中运),然后在命令窗口中运行该文件,行该文件,Matlab 就会自动依次执行文件中的命令,直到就会自动依次执行文件中的命令,直到全部命令执行完毕全部命令执行完毕l 在在 Matlab 程序设计中,要充分利用程序设计中,要充分利用 Matlab 数据结构的数据结构的特点,提高编程效率特点,提高编程效率q Matlab 编程简介编程简介4l 用用 Matlab 语言编写的程序称为语言编写的程序称为 M 文件文件l M
3、 文件以文件以 .m 为扩展名为扩展名l M 文件是由若干文件是由若干 Matlab 命令组合在一起构成的,它可命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法以完成某些操作,也可以实现某种算法q M 文件分类(根据调用方式的不同)文件分类(根据调用方式的不同)l Script:脚本文件脚本文件/命令文件命令文件l Function:函数文件函数文件 M 文件文件q M 文件介绍文件介绍可以直接运行的可以直接运行的M文件文件5q M 文件的创建的与编辑文件的创建的与编辑 M 文件是文本文件,可以用任何文本编辑器来建立和编辑,文件是文本文件,可以用任何文本编辑器来建立和编辑,通常使用
4、通常使用 Matlab 自带的自带的 M 文件编辑器文件编辑器M 文件文件l 新建一个新建一个 M 文件文件l 菜单操作菜单操作 ( File New M-File )l 命令操作命令操作 ( edit M 文件名文件名 )l 命令按钮命令按钮 ( 快捷键快捷键 )l 打开已有的打开已有的 M 文件文件l 菜单操作菜单操作 ( File Open )l 命令操作命令操作 ( edit M 文件名文件名 )l 命令按钮命令按钮 ( 快捷键快捷键 )l 双击双击 M 文件文件 6编程示例编程示例u=0:pi/60:2*pi; v=0:pi/60:pi; U,V=meshgrid(u,v);R=3;
5、 X=R*sin(V).*cos(U);Y=R*sin(V).*sin(U); Z=R*cos(V); mesh(X,Y,Z); axis equal;l 编程方式:新建一个编程方式:新建一个 M 文文件件 myprg1.m,内容如下:内容如下:例:例:用用 mesh 绘制半径为绘制半径为 3 的球的球 l 命令行方式:命令行方式: u=0:pi/60:2*pi; v=0:pi/60:pi; U,V=meshgrid(u,v); R=3; X=R*sin(V).*cos(U); Y=R*sin(V).*sin(U); Z=R*cos(V); mesh(X,Y,Z); axis equal;在命
6、令窗口输入在命令窗口输入 myprg1,即可执行该即可执行该 M 文件文件文件的命名规则与变量相同!文件的命名规则与变量相同!7l 在命令窗口中输入在命令窗口中输入 f2c,即可执行该即可执行该 M 文件文件5(32)9cf例:例:编写编写M文件,将华氏温度转化为摄氏温度:文件,将华氏温度转化为摄氏温度:编程示例编程示例clear; % 清除当前工作空间中的所有变量清除当前工作空间中的所有变量f=input(Please input f:);c=5*(f-32)/9;fprintf(c=%gn,c);l 新建一个新建一个 M 文件文件 f2c.m,内容如下:内容如下:l M文件运行所产生的文件
7、运行所产生的变量都驻留在变量都驻留在 Matlab 当前工作空间当前工作空间l 百分号是注释符百分号是注释符l M文件必须文件必须在当前工作目录下在当前工作目录下才能运行才能运行8本讲主要内容本讲主要内容n M 文件文件n Matlab 编程基础编程基础l 算术运算、关系运算、逻辑运算算术运算、关系运算、逻辑运算l 控制结构:顺序结构、选择结构、循环结构控制结构:顺序结构、选择结构、循环结构9关系运算关系运算小于小于大于大于=大于等于大于等于=等于等于=不等于不等于l 比较大小,如果结论是比较大小,如果结论是 真真 则返回则返回 1 ,否则返回,否则返回 0l 注意注意 = = 与与 = 的区
8、别的区别l 关系操作符可以比较两个关系操作符可以比较两个同样大小同样大小的数组,或用来的数组,或用来比较比较一个数组和一个标量一个数组和一个标量,在后一种情况,标量和数,在后一种情况,标量和数组中的每一个元素相比较,比较结果与数组大小一样组中的每一个元素相比较,比较结果与数组大小一样q 关系运算符关系运算符10例:例:关系运算关系运算举例举例 2+2=4 23 A=1 3 5; 2 0 6; B=3 1 0; 2 4 6; A=B x=5 0; 4 2; x isfinite(5) isinf(5)l 测试函数测试函数15括号括号幂,点幂幂,点幂正号,负号,逻辑非正号,负号,逻辑非乘,除,点乘
9、,点除乘,除,点乘,点除加,减加,减冒号运算冒号运算关系运算关系运算&|&|运算优先级运算优先级高低16本讲主要内容本讲主要内容n M 文件文件n Matlab 编程基础编程基础l 算术运算、关系运算、逻辑运算算术运算、关系运算、逻辑运算l 控制结构:控制结构:l 顺序结构:顺序结构:数据输入输出(数据输入输出(input、disp、fprintf 等)等)l 选择结构:选择结构:if 语句、语句、switch 语句语句l 循环结构:循环结构:for 循环、循环、while 循环循环17q 程序控制结构有三种:程序控制结构有三种: 顺序结构顺序结构、选择结构选择结构和和循环结构循环结构 任何复
10、杂的程序都由这三种基本结构组成任何复杂的程序都由这三种基本结构组成 M文件控制流文件控制流l 按排列顺序依次执行各条语句,直到程序的最后按排列顺序依次执行各条语句,直到程序的最后l 这是最简单的一种程序结构,一般涉及数据的输入输这是最简单的一种程序结构,一般涉及数据的输入输出、数据的计算或处理等出、数据的计算或处理等u 顺序结构顺序结构18例:例:A=input(Please input A: )l 数据的输入:数据的输入:inputA=input(提示信息提示信息)l 其中其中 提示信息提示信息 为字符串,为字符串,l 该命令要求用户输入该命令要求用户输入 A 的值的值 (可以是数或字符串可
11、以是数或字符串)inputname=input(Whats your name? )例:例:l 输入字符串时必须带单引号输入字符串时必须带单引号l 单引号的输出:两个连续的单引号单引号的输出:两个连续的单引号19disp(X)l 输出变量输出变量 X 的值,的值,X 可以是数值矩阵或字符串可以是数值矩阵或字符串l 一次只能输出一个变量一次只能输出一个变量 B=1 2 3; 4 5 6; 7 8 9; disp(B)displ 数据的输出:数据的输出:disp A=Hello, Tom!; disp(A)例:例:20fprintffprintf(fid,format,variables)l 数据
12、的格式化输出:数据的格式化输出:fprintfl 按按指定的格式指定的格式将变量的值输出到屏幕或指定的将变量的值输出到屏幕或指定的文件文件l fid 为文件句柄,若缺省,则输出到屏幕上为文件句柄,若缺省,则输出到屏幕上l format 用来指定数据输出时采用的格式,包含:用来指定数据输出时采用的格式,包含: 普通字符串、格式字符串、转义字符普通字符串、格式字符串、转义字符 %d (整数整数 ) %e (实数:科学计数法形式实数:科学计数法形式 ) %f (实数:小数形式实数:小数形式) %g (由系统自动选取上述两种格式之一由系统自动选取上述两种格式之一) %s ( 输出字符串输出字符串) n
13、 ( 换行换行 ) t ( 制表符制表符 ) b ( 退格退格 ) ( 反斜杆反斜杆 ) % ( 百分号百分号 )21fprintf a=Hello; b=2.4; c=100*pi; fprintf(a=%s, b=%f, c=%en,a,b,c)例:例:l format 中的中的格式字符串格式字符串要与输出变量一一对应要与输出变量一一对应l 可以没有输出变量可以没有输出变量 fprintf( Today is Mondayn)例:例:22pausel 暂停暂停:pausepause 或或 pause(n)若想强行终止正常运行的程序,可以使用若想强行终止正常运行的程序,可以使用 Ctrl+c
14、l 其中其中 n 是暂停的时间,以秒为单位是暂停的时间,以秒为单位l 若缺省,则将暂停程序,直到用户按任意键后继续若缺省,则将暂停程序,直到用户按任意键后继续l pause off 屏蔽程序中所有屏蔽程序中所有 pause 的作用的作用l pause on 打开打开 pause 的作用的作用23选择结构选择结构 是根据给定的条件成立或不成立,分别执是根据给定的条件成立或不成立,分别执行不同的语句。行不同的语句。Matlab 用于实现选择结构的语句有用于实现选择结构的语句有 if 语句语句和和 switch 语句语句。选择结构选择结构24l 单分支结构单分支结构if expr(条件条件) 语句组
15、语句组endif 条件语句条件语句if expr(条件条件) 语句组语句组1else 语句组语句组2endl 双分支结构双分支结构25if expr1 (条件条件1) 语句组语句组1elseif expr2 (条件条件2) 语句组语句组2 . . elseif exprm (条件条件m) 语句组语句组melse 语句组语句组endl 多分支结构多分支结构if 条件语句条件语句26if 条件语句条件语句27c=input(请输入一个字符请输入一个字符,s);if c=A&c=a&c=0&c=9 disp(abs(c)-abs(0);else disp(c);endif 条件语句条件语句28l 根
16、据表达式的不同取值,分别执行不同的语句根据表达式的不同取值,分别执行不同的语句switch expr(表达式表达式) case value1(表达式表达式1) 语句组语句组1 case value2(表达式表达式2) 语句组语句组2 . . case valuem(表达式表达式m) 语句组语句组m otherwise 语句组语句组endswitch 语句语句29l Matlab 首先计算首先计算 expression 的值,然后将它依次与各的值,然后将它依次与各个个 case 指令后的检测值进行比较,当比较结果为真时,指令后的检测值进行比较,当比较结果为真时,就执行相应的语句组,然后跳出就执行相应的语句组,然后跳出 switch 结构结构l switch 后面的表达式后面的表达式 expression 的值可以是一个的值可以是一个标量或字符串标量或字符串switch 语句语句l otherwise 指令可以不出现指令可以不出现l 如果所有的比较结果都为假,则执行如果所有的比较结果都为假,则执行 otherwise 后后面的语句组,然后跳出面的语句组,然后跳出 switch 结构结构l