第4章 MATLAB程序设计与M文件.ppt
文本预览下载声明
定义 用MATLAB语言编写的程序,称为M文件。 M文件有两类:命令文件和函数文件。 命令文件:没有输入参数,也不返回输出参数。 函数文件:可以输入参数,也可返回输出参数。 一 M文件的建立与编辑 1.建立新的M文件 (1)菜单操作:MATLAB命令窗口的File菜单 → New菜单项 → M-file命令。 (2)命令操作:在MATLAB命令窗口输入命令 edit。 (3)命令按钮操作:单击MATLAB命令窗口工具栏上的“新建”命令按钮。 2. 编辑已有的M文件 二 M文件的分类 M文件有两种即M脚本文件(Script File)(命令文件)和M函数文件(Function File)。 例4.1:在M文件编辑/调试器窗口中编写M脚本文件得出10-50范围内的所有素数。 %EX4_1 计算10-50内的素数 clear y1=primes(50); %获得50以内的所有素数 n=length(primes(10)); %获得10以内素数的个数 y=y1(n+1:end) 在命令窗口中输入: ex4_1 y = 11 13 17 19 23 29 31 37 41 43 47 在工作空间中就可以查看到变量y1、n和y,并可以修改和使用这些变量。 2. M函数文件 M函数文件的说明如下: (1)M函数文件中的函数声明行是必不可少的; (2)M函数文件在运行过程中产生的变量都存放在函数本身的工作空间中,函数的工作空间是独立的、临时的,随具体的M函数文件调用而产生并随调用结束而删除,在MATLAB运行过程中如果运行多个函数则产生多个临时的函数空间; (3)当文件执行完最后一条命令或遇到“return”命令时就结束函数文件的运行,同时函数工作空间的变量被清除; (4)一个M函数文件至少定义一个函数。 M函数文件的一般结构 1. 函数声明行 函数声明行是在M函数文件的第一行,只有M函数文件必须有,以“function”引导并指定函数名、输入和输出参数。(M脚本文件没有函数声明行。) 2. H1行 H1行是帮助文字的第一行。 3. 帮助文本 4. 程序代码 程序代码由MATLAB语句和注释语句构成。 例4.2 建立一个函数文件将变量a,b的值互换,然后在命令窗口调用该函数文件。 首先建立函数文件fexch.m: function [a,b]=fexch(a,b) % exch c=a;a=b;b=c; 然后在MATLAB的命令窗口调用该函数文件: clear; x=1:10; y=[11,12,13,14;15,16,17,18]; [x,y]=fexch(x,y) 三 数据的输入输出 1 input函数 调用格式为: A=input(提示信息,选项); 其中,提示信息为一个字符串,用于提示用户输入什么样的数据。 如果在input函数调用时采用‘s’选项,则允许用户输入一个字符串。 例如,想输入一个人的姓名,可采用命令: xm=input(Whats your name?,s) Whats your name?xiaowei xm = xiaowei 2 disp函数 调用格式为 disp(输出项) 其中输出项既可以为字符串,也可以为矩阵。 注意:用disp函数显示矩阵时将不显示矩阵的名字,而且其格式更紧密,且不留任何没有意义的空行。 例4.3 求一元二次方程ax2 +bx+c=0的根。 程序如下: a=input(a=?); b=input(b=?); c=input(c=?); d=b*b-4*a*c; x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)]; disp([x1=,num2str(x(1)),,x2=,num2str(x(2))]) 3 pause函数 其调用格式为: pause(延迟秒数) 如果省略延迟时间,直接使用pause,则将暂停程序,直到用户按任一键后程序继续执行。 若要强行中止程序的运行可使用Ctrl+C命令。 4.2 程序控制 1. if 结构 (1)if 条件1 ?? 语句段1 elseif 条件2 ? 语句段2 ...... else ?? 语句段n? end 2. switch 结构 switch 表达式 case 值1 ?? 语句段1? case值2 ?? 语句段2 ... o
显示全部