一. M文件 用MATLAB语言编写的程序,称为M文件。 M文件有两类:命令文件和函数文件。 命令文件:没有输入参数,也不返回输出 参数。 函数文件:可以输入参数,也可返回输出参数。 1.M文件的建立与编辑 建立新的M文件: 从MATLAB命令窗口的File菜单中选择New菜单项,再选择M-file命令。 2.命令文件 将需要运行的命令编辑到一个命令文件中,然后在MATLAB命令窗口输入该命令文件的名字,就会顺序执行命令文件中的命令。 【例1】 建立一个命令文件将变量a,b的值互换。 1. input函数:用于向计算机输入一个参数。 调用格式: A=input(提示信息,选项); 注:‘s’选项,则允许用户输入一个字符串。 例如想输入一个人的姓名,可采用命令 xm=input('What''s your name:','s') 【例2】 求一元二次方程a2 +bx+c=0的根。 2. pause函数:暂停程序的执行。 调用格式: pause(延迟秒数) 注:如果省略延迟时间,直接使用pause,则将暂停程序,直到用户按任一键后程序继续执行。 (一)选择结构 选择结构的语句有if语句和switch语句。 1. if语句 格式一: if 条件 语句组 end (一)选择结构 格式三: if 条件1 语句组1 elseif 条件2 语句组2 …… elseif 条件m 语句组m else 语句组m+1 end 【例4】 输入三角形的三条边,求面积。 A=input('请输入三角形的三条边:'); if A(1)+A(2) A(3) & A(1)+A(3) A(2) & A(2)+A(3) A(1) p=(A(1)+A(2)+A(3))/2; s=sqrt(p*(p-A(1))*(p-A(2))*(p-A(3))); disp(s); else disp('不能构成一个三角形。') end 运行: 请输入三角形的三条边:[4 5 6] 9.9216 【例5】 输入一个字符,若为大写字母,则输出其后继字符,若为小写字母,则输出其前导字符,若为其他字符则原样输出。 c=input('','s'); if c ='A' & c ='Z' disp(setstr(abs(c)+1)); elseif c ='a'& c ='z' disp(setstr(abs(c)-1)); else disp(c); end 2 switch语句 switch语句根据变量或表达式的取值不同,分别执行不同的语句。其格式为: switch 表达式 case 值1 语句组1 case 值2 【例6】 根据变量 num 的值来决定显示的内容。 num=input('请输入一个数'); switch num case -1 disp('I am a teacher.'); case 0 disp('I am a student.'); case 1 disp('You are a teacher.'); otherwise disp('You are a student.'); end (二)循环结构 实现循环结构的语句:for语句和while语句。 1. for语句: 格式: for 循环变量=表达式1:表达式2:表达式3 循环体语句 end 注:其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。步长为1时,表达式2可以省略。 2. while语句 格式为: while (条件) 循环体语句 end 【例7】 根据例3.6中求y的表达式,求: (1)y 3时的最大n值。 (2)与(1)的n值对应的y值。 求y的表达式 y=0; i=1; while 1 %循环的条件为1,即循环条件总是满足的,这是一个永真循环 f=1/(2*i-1); y=y+f; if y 3 break; end i=i+1; end n=i-1 y=y-f 3. 循环的嵌套 如果一个循环结构的循环体又包括一个循环结构,就称为循环的嵌套,或称为多重循环结构。 多重循环的嵌套层数可以是任意的。可以按照嵌套层数,分别叫做二重循环、三重循环等。处于内部的循环叫作内循环,处于外部的循环叫作外循环。 【例8】 求[100,1000]以内的全部素数。 n=0; for m=100:1000 flag=1; j=m-1; i=2; while i =j & flag if rem(m,i)==0 flag=0; end 1.函数文件格式 函数文件是另一种形式的M文件,每一个函数文件都定义一个函数。事实上,MATLAB提供的标准函数大部分都是由函数文件定义的。 【例9】 编写函数文件求小于任意自然数n的Fibonacci数列各项。 function f=ffib(n) %用于求Fibonacci数列的函数文件 %f=ffib(n) %1999年9月30日编 f=[1,1]; i=1; while f(i)+f(i+1) n f(i+2)=f(i)+f(i+1); i=i+1; end 2.函数调用 函数文件编制好后,就可调用函数进行计算了。如上面定义ffib函数后,调用它求小于2000的Fibonacci数。 函数调用的一般格式是: [输出实参表]=函数名(输入实参表) 【例10】 利用函数文件,实现直角坐标(x,y)与极坐标(γ,θ)之间的转换。 函数文件tran.m: function [gama,theta]=tran(x,y) gama=sqrt(x*x+y*y); theta
matlab课件2.ppt
下载此电子书资料需要扣除0点,