电气系统仿真课件5-程序设计111_第1页
电气系统仿真课件5-程序设计111_第2页
电气系统仿真课件5-程序设计111_第3页
电气系统仿真课件5-程序设计111_第4页
电气系统仿真课件5-程序设计111_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章MATLAB程序设计M文件简介MATLAB程序控制结构函数调用和参数传递第5章MATLAB程序设计MATLAB有两种工作方式:(1)交互式的命令行工作方式通常matlab以指令驱动模式工作,即在matlab窗口下当用户输入单行指令时,matlab立即处理这条指令,并显示结果,这就是matlab命令行方式。MATLAB有两种工作方式:缺点:a.命令行操作时,matlab窗口只允许一次执行一行上的一个或几个语句。b.命令行方式程序可读性差c.不能存储,当处理复杂问题和大量数据时是不方便的,应编写成能存储的程序文件。缺点:(2)M文件的程序工作方式

较多的命令重复输入将要输入的所有指令按顺序放到一个扩展名为“.m”的文本文件中,每次运行时只要输入M文件的文件名即可。这种工作模式称为M文件的程序工作方式。

(2)M文件的程序工作方式5.1M文件简介用MATLAB语言编写的程序,称为M文件。5.1.1M文件的建立与编辑

M文件是一个文本文件,它可以用任何编辑程序来建立和编辑,而一般常用且最为方便的是使用MATLAB提供的文本编辑器。1、建立新的M文件启动MATLAB文本编辑器有3种方法:方法一:菜单操作

FileNewM-fileMATLABEditor窗口

输入M文件的内容并存盘。5.1M文件简介5.1.1M文件的建立与编辑方法二:命令操作在MATLAB命令窗口输入命令edit,启动MATLAB文本编辑器后,输入M文件的内容并存盘。

方法三:命令按钮操作单击MATLAB主窗口工具栏上的NewM-File命令按钮,启动MATLAB文本编辑器后,输入M文件的内容并存盘。

注意:M文件的存放位置默认情况下是

MATLAB安装目录下的work子目录。方法二:命令操作方法三:命令按钮操作注意:M文件的存放位置默2、编辑已有的M文件方法一:菜单操作

FileOpenOpen对话框M文件方法二:命令操作

在MATLAB命令窗口输入命令:

edit文件名方法三:命令按钮操作工具栏OpenFile选择所需打开的M文件。

2、编辑已有的M文件方法二:命令操作方法三:命令

MATLAB提供了两种源程序文件格式:脚本文件和函数文件,这两种文件的扩展名均为“.m”。

M脚本(Scripts)文件(命令行文件):没有输入参数,也不返回输出参数;

M函数(Functions)文件:可以输入参数,也可返回输出参数。

5.1.2M脚本文件和M函数文件MATLAB提供了两种源程序文件格式:脚本文一、M脚本文件(命令行文件)

本质:是一串指令的集合,与在命令窗口逐行执行文件中的所有指令,其结果是一样的。将需要运行的命令编辑到一个命令文件中,然后在MATLAB命令窗口直接输入该命令文件的名字(执行方法),就会顺序执行命令文件中的命令,该文件称为脚本文件。

一、M脚本文件(命令行文件)本质:是一串指令的(1)脚本文件中的命令格式和前后顺序,与在命令窗口中输入的指令无区别;(2)与在命令窗口中直接运行命令一样,脚本文件产生的变量都驻留在MATLAB的workspace中,可以方便查看变量;脚本文件可以直接访问workspace中的所有数据;(3)M文件的文件名要避免与MATLAB内置函数与工具箱中的函数重名,并要放在搜索路径内。(1)脚本文件中的命令格式和前后顺序,与在命令窗口中输入的指例1:建立一个脚本文件,将变量a、b的值互换。解:建立try1.m文件a=1:9;b=[111213;141516;171819];c=a;a=b;b=c;ab指令窗口执行该程序>>try1a=111213141516171819b=123456789例1:建立一个脚本文件,将变量a、b的值互换。指令窗口执行该二、M函数文件函数文件(Functionfile)是另一种形式的M文件,每一个函数文件都定义一个函数。1.脚本文件和函数文件的区别:(1)M脚本文件不需要输入任何参数,也不返回任何参数,主要是为了解决在命令窗口中反复输入命令的繁琐操作;M函数文件通常包含输入参数,也可以返回输出参数,主要解决参数传递和函数调用的问题。(2)脚本文件对workspace中的变量进行操作;函数文件的变量为局域变量,只有其输出的变量保存在workspace中。二、M函数文件2.函数文件格式

function输出形参表=函数名(输入形参表)函数帮助信息行函数体----是函数的功能实现部分

特定规则:①

m函数文件第一行必须以单词function作为引导词;②函数信息行:给出函数的帮助信息,帮助信息要从%开头,并放在一行的开头,在指令窗口中用help+文件名可查询到;2.函数文件格式特定规则:③

函数名的命名规则与变量名相同;m函数文件的文件名建议直接用函数名.m,也可以与函数名不同,但是调用时使用文件名;④当函数的输出形参多于1个时,应用方括号,参数之间用逗号隔开:function[a,b]=mfile(x,y);当函数无输出参数时,输出参数项应为空,或者用空的中括号表示:

functionmfile(x,y)

或者function[]=mfile(x,y);⑤函数执行后,只保留最后的返回结果,不保留任何中间过程。程序中的变量均为局部变量,不保存在工作空间中,其变量只在函数运行期间有效,随函数调用的结束而从工作空间消除。

③函数名的命名规则与变量名相同;m函数文件的文件名建议直接【例】

编写函数文件求小于任意自然数n的Fibonacci数列各项。

functionf=ffib(n)%用于求Fibonacci数列的函数文件

%f=ffib(n)%1999年9月30日编

f=[1,1];i=1;whilef(i)+f(i+1)<nf(i+2)=f(i)+f(i+1);i=i+1;end将以上函数文件以文件名ffib.m存盘,【例】编写函数文件求小于任意自然数n的Fibonacci2.函数调用函数文件编制好后,在MATLAB命令窗口输入以下命令,可求小于2000的Fibonacci数。

ffib(2000)函数调用的一般格式是:

[输出实参表]=函数名(输入实参表)四.函数文件2.函数调用函数文件编制好后,在MATLAB命令窗口输入以下【例10】

利用函数文件,实现直角坐标(x,y)与极坐标(γ,θ)之间的转换。函数文件tran.m:

function[gama,theta]=tran(x,y)gama=sqrt(x*x+y*y);theta=atan(y/x);调用tran.m的命令文件main1.m:[gam,the]=tran(30,40);四.函数文件【例10】利用函数文件,实现直角坐标(x,y)与极坐标(解:

functionli2%ab互换

a=1:9;

b=[111213;141516;171819];c=a;a=b;b=c;ab例2:建立一个函数文件,将变量a、b的值互换。解:例2:建立一个函数文件,将变量a、b的值互换。例3:建立函数文件,将华氏温度f转换为摄氏温度c解:

functionc=f2c(f)c=5*(f-32)/9>>f2c(100)c=37.7778

例3:建立函数文件,将华氏温度f转换为摄氏温度c【例11】

利用函数的递归调用,求n!。

functionf=factor(n)ifn<=1f=1;elsef=factor(n-1)*n;endreturn;%返回在命令文件main2.m中调用函数文件factor.m:

fori=1:10fac(i)=factor(i);endfac程序运行结果是:

fac=Columns1through612624120720Columns7through10504403203628803628800四.函数文件【例11】利用函数的递归调用,求n!。funct1.input函数:用于向计算机输入一个参数。调用格式:A=input(提示信息,选项);注:‘s’选项,则允许用户输入一个字符串。例如想输入一个人的姓名,可采用命令

xm=input('What''syourname:','s')【例2】

求一元二次方程a2+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)]将该程序以aa.m文件存盘,然后运行aa.m文件。1.input函数:用于向计算机输入一个参数。二.数据的输二.数据的输入输出

2.disp函数:命令窗口输出函数。调用格式:disp(输出项)注:输出项为字符串或矩阵。例如

A='Hello,MATLAB';disp(A)输出为:Hello,MATLAB二.数据的输入输出2.disp函数:命令窗口输出函数。5.2MATLAB程序控制结构5.2.1条件分支结构条件分支结构——根据一定条件来执行的各条语句。1.if语句

(1)单分支if语句:

if条件语句组

end

当条件成立时,则执行语句组,执行完之后继续执行if语句的后继语句,若条件不成立,则直接执行if语句的后继语句。5.2MATLAB程序控制结构(2)双分支if语句:

if条件语句组1else

语句组2end

当条件成立时,执行语句组1,否则执行语句组2,语句组1或语句组2执行后,再执行if语句的后继语句。(2)双分支if语句:(3)多分支if语句:

if条件1

语句组1

elseif

条件2

语句组2……

elseif

条件m

语句组melse

语句组nend(3)多分支if语句:functiony=shuru(x)ifx>=1

y=2*x.^2+1elseif(x<1)&(x>-1)y=0elsey=-x.^3end例4:计算函数y=functiony=shuru(x)例4:计算函数y=绘出函数的图像。x=-3:0.1:3;ifx>=1y=2*x.^2+1;plot(x,y)elseif-1<x<1y=5;plot(x,y)else

y=-x.^3;plot(x,y)end绘出函数2、Switch语句如果在一个程序中,必须针对某个变量不同取值情况进行相应操作,switch语句比if语句更方便。switch语句用于实现多重选择。

2、Switch语句语法:

switch分支条件(函数、变量、表达式)

case条件1(标量、字符串) 执行语句1 case{条件2条件3条件4…}

执行语句2 case… … otherwise

执行语句n end语法:例6:编写函数文件,将百分制成绩转换为五级制的成绩functionf=trangrade(x)switchfix(x/10)case{109}f='A';case8f='B';case7f='C';case6f='D';otherwisef='E';end运行结果:>>trangrade(97)ans=A>>trangrade(67)ans=D>>trangrade(55)ans=E例6:编写函数文件,将百分制成绩转换为五级制的成绩运行结果:【例6】根据变量num的值来决定显示的内容。

num=input('请输入一个数');switchnumcase-1disp('Iamateacher.');case0disp('Iamastudent.');case1disp('Youareateacher.');otherwisedisp('Youareastudent.');end三.程序设计(一)选择结构【例6】根据变量num的值来决定显示的内容。n5.2.2循环结构1.while循环

while循环以不定的次数重复执行一组语句。语法为:

while逻辑表达式循环体语句

endwhile语句执行过程,只要表达式里面的所有元素为真,就执行while和end之间的语句,否则就结束循环。在设计while循环时,应在循环体内有修改“逻辑表达式”的部分,确保执行了一定次数后可以退出循环。5.2.2循环结构例8:用while循环求1~100间整数的和

sum=0;i=1;whilei<=100sum=sum+i;i=i+1;endsumsum=5050例8:用while循环求1~100间整数的和例9:编写函数文件求小于自然数n的婓波纳契数列各项。该数列是一整数数列,其中每个数等于前面两数之和。已知前两项为11。functionf=fbnq(n)%计算婓波纳契数列各项f=[11];i=1;whilef(i)+f(i+1)<nf(i+2)=f(i)+f(i+1);i=i+1;end在指令窗口输入>>fbnq(30)ans=1123581321例9:编写函数文件求小于自然数n的婓波纳契数列各项。该数列是例10:按照下面的表达式计算,直至1/n!小于0.001。建立脚本文件ex10.merror=0.001;x=1;y=0;n=1;whilex>errory=y+x;x=x/n;n=n+1;endy运行结果:>>ex10y=2.7181例10:按照下面的表达式计算,直至1/n!小于0.001。建2.for循环

for循环允许一条或者一组语句被重复执行预先指定的次数。for循环的语法为:

for循环变量=表达式1:表达式2:表达式3

循环体

end循环次数:说明:表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环终值,当步长为1时,可以省略。表达式的值可以是正整数、负整数或者小数。循环次数如何计算?2.for循环循环次数:说明:表达式1的值为循环变量的初值例11:用for循环求1~100间整数的和sum=0;fori=1:100sum=sum+i;endsum例11:用for循环求1~100间整数的和sum=0;例12:使用for循环计算以及i!(i=1:10)的值。解:编写脚本文件forsum.msum=0;part=1;fori=1:10part=part*i;fprintf('part(%d)=%d\n',i,part)sum=sum+part;endfprintf('sum=%d\n',sum)运行结果:>>forsumpart(1)=1part(2)=2part(3)=6part(4)=24part(5)=120part(6)=720part(7)=5040part(8)=40320part(9)=362880part(10)=3628800sum=4037913例12:使用for循环计算以及i!(i=12.主函数和子函数主函数和子函数的区别:(1)MATLAB允许一个M函数文件包含多个函数的代码,其中第一个出现的函数称为主函数,其余的函数为子函数。(2)保存时所用的函数名称与主函数定义名相同。(3)主函数可以在M文件外部调用,而子函数不行。(4)同一文件的主函数和子函数的工作空间是相互独立的。2.主函数和子函数例18:编写一函数,要求输入任意两个数后,求出这两数之和与绝对值之和的积。functionch=sub(x,y)%主函数ch=sub1(x,y)*sub2(x,y);

functionch=sub1(x,y)%子函数1ch=x+y;functionch=sub2(x,y)%子函数2ch=abs(x)+abs(y);运行结果:>>sub(4,3)ans=49>>sub(4,-3)ans=7例18:编写一函数,要求输入任意两个数后,求出这两数之和与绝5.3.2局部变量和全局变量1.局部变量(LocalVariables)局部变量是在函数体内部的变量,其影响范围是本函数内部,而且不加载到MATLAB的工作空间。局部变量只在函数执行期间存在,当函数执行完变量就消失。2.全局变量(GlobalVariables)全局变量是可以在不同的函数工作空间和MATLAB工作空间中共享使用的变量。在使用前必须用global定义,而且在任何使用该变量的函数中都要加以定义,即使在命令窗口中也不加以例外。5.3.2局部变量和全局变量functionf=global_exam(x,y)%define2globalvariablesglobalABf=A*x+B*y;在命令窗口中输入>>globalAB>>A=1;>>B=2;>>f=global_exam(2,3)f=8functionf=global_exam(x,y)5.3.3函数的参数1.函数的调用函数的调用方式:[输出实参表]=函数名(输入实参表)2.函数参数的个数nargin:该函数输入实参的个数nargout:该函数输出实参的个数nargin在函数体内获得实际输入变量个数nargout在函数体内获得实际输出变量个数nargin(‘fun’)在函数体外获取定义的输入参数个数nargout(‘fun’)在函数体外获取定义的输出参数个数5.3.3函数的参数nargin在函数体内获得实际输入变例19:编程实现,若只输入一个变量,系统提示输入错误,若输入两个、三个变量,则将各变量相加,将和输出。>>nargintest(1,2,3)ans=6>>nargintest(1,2,3,4)???Errorusing==>nargintestToomanyinputarguments.>>nargintest(1)???Errorusing==>nargintestNotenoughinputarguments>>nargintest(1,2)ans=3

functionf=nargintest(a,b,c)ifnargin<=1error('Notenoughinputarguments');elseifnargin==2f=a+b;elseifnargin==3f=a+b+c;end例19:编程实现,若只输入一个变量,系统提示输入错误,若输入第5章MATLAB程序设计M文件简介MATLAB程序控制结构函数调用和参数传递第5章MATLAB程序设计MATLAB有两种工作方式:(1)交互式的命令行工作方式通常matlab以指令驱动模式工作,即在matlab窗口下当用户输入单行指令时,matlab立即处理这条指令,并显示结果,这就是matlab命令行方式。MATLAB有两种工作方式:缺点:a.命令行操作时,matlab窗口只允许一次执行一行上的一个或几个语句。b.命令行方式程序可读性差c.不能存储,当处理复杂问题和大量数据时是不方便的,应编写成能存储的程序文件。缺点:(2)M文件的程序工作方式

较多的命令重复输入将要输入的所有指令按顺序放到一个扩展名为“.m”的文本文件中,每次运行时只要输入M文件的文件名即可。这种工作模式称为M文件的程序工作方式。

(2)M文件的程序工作方式5.1M文件简介用MATLAB语言编写的程序,称为M文件。5.1.1M文件的建立与编辑

M文件是一个文本文件,它可以用任何编辑程序来建立和编辑,而一般常用且最为方便的是使用MATLAB提供的文本编辑器。1、建立新的M文件启动MATLAB文本编辑器有3种方法:方法一:菜单操作

FileNewM-fileMATLABEditor窗口

输入M文件的内容并存盘。5.1M文件简介5.1.1M文件的建立与编辑方法二:命令操作在MATLAB命令窗口输入命令edit,启动MATLAB文本编辑器后,输入M文件的内容并存盘。

方法三:命令按钮操作单击MATLAB主窗口工具栏上的NewM-File命令按钮,启动MATLAB文本编辑器后,输入M文件的内容并存盘。

注意:M文件的存放位置默认情况下是

MATLAB安装目录下的work子目录。方法二:命令操作方法三:命令按钮操作注意:M文件的存放位置默2、编辑已有的M文件方法一:菜单操作

FileOpenOpen对话框M文件方法二:命令操作

在MATLAB命令窗口输入命令:

edit文件名方法三:命令按钮操作工具栏OpenFile选择所需打开的M文件。

2、编辑已有的M文件方法二:命令操作方法三:命令

MATLAB提供了两种源程序文件格式:脚本文件和函数文件,这两种文件的扩展名均为“.m”。

M脚本(Scripts)文件(命令行文件):没有输入参数,也不返回输出参数;

M函数(Functions)文件:可以输入参数,也可返回输出参数。

5.1.2M脚本文件和M函数文件MATLAB提供了两种源程序文件格式:脚本文一、M脚本文件(命令行文件)

本质:是一串指令的集合,与在命令窗口逐行执行文件中的所有指令,其结果是一样的。将需要运行的命令编辑到一个命令文件中,然后在MATLAB命令窗口直接输入该命令文件的名字(执行方法),就会顺序执行命令文件中的命令,该文件称为脚本文件。

一、M脚本文件(命令行文件)本质:是一串指令的(1)脚本文件中的命令格式和前后顺序,与在命令窗口中输入的指令无区别;(2)与在命令窗口中直接运行命令一样,脚本文件产生的变量都驻留在MATLAB的workspace中,可以方便查看变量;脚本文件可以直接访问workspace中的所有数据;(3)M文件的文件名要避免与MATLAB内置函数与工具箱中的函数重名,并要放在搜索路径内。(1)脚本文件中的命令格式和前后顺序,与在命令窗口中输入的指例1:建立一个脚本文件,将变量a、b的值互换。解:建立try1.m文件a=1:9;b=[111213;141516;171819];c=a;a=b;b=c;ab指令窗口执行该程序>>try1a=111213141516171819b=123456789例1:建立一个脚本文件,将变量a、b的值互换。指令窗口执行该二、M函数文件函数文件(Functionfile)是另一种形式的M文件,每一个函数文件都定义一个函数。1.脚本文件和函数文件的区别:(1)M脚本文件不需要输入任何参数,也不返回任何参数,主要是为了解决在命令窗口中反复输入命令的繁琐操作;M函数文件通常包含输入参数,也可以返回输出参数,主要解决参数传递和函数调用的问题。(2)脚本文件对workspace中的变量进行操作;函数文件的变量为局域变量,只有其输出的变量保存在workspace中。二、M函数文件2.函数文件格式

function输出形参表=函数名(输入形参表)函数帮助信息行函数体----是函数的功能实现部分

特定规则:①

m函数文件第一行必须以单词function作为引导词;②函数信息行:给出函数的帮助信息,帮助信息要从%开头,并放在一行的开头,在指令窗口中用help+文件名可查询到;2.函数文件格式特定规则:③

函数名的命名规则与变量名相同;m函数文件的文件名建议直接用函数名.m,也可以与函数名不同,但是调用时使用文件名;④当函数的输出形参多于1个时,应用方括号,参数之间用逗号隔开:function[a,b]=mfile(x,y);当函数无输出参数时,输出参数项应为空,或者用空的中括号表示:

functionmfile(x,y)

或者function[]=mfile(x,y);⑤函数执行后,只保留最后的返回结果,不保留任何中间过程。程序中的变量均为局部变量,不保存在工作空间中,其变量只在函数运行期间有效,随函数调用的结束而从工作空间消除。

③函数名的命名规则与变量名相同;m函数文件的文件名建议直接【例】

编写函数文件求小于任意自然数n的Fibonacci数列各项。

functionf=ffib(n)%用于求Fibonacci数列的函数文件

%f=ffib(n)%1999年9月30日编

f=[1,1];i=1;whilef(i)+f(i+1)<nf(i+2)=f(i)+f(i+1);i=i+1;end将以上函数文件以文件名ffib.m存盘,【例】编写函数文件求小于任意自然数n的Fibonacci2.函数调用函数文件编制好后,在MATLAB命令窗口输入以下命令,可求小于2000的Fibonacci数。

ffib(2000)函数调用的一般格式是:

[输出实参表]=函数名(输入实参表)四.函数文件2.函数调用函数文件编制好后,在MATLAB命令窗口输入以下【例10】

利用函数文件,实现直角坐标(x,y)与极坐标(γ,θ)之间的转换。函数文件tran.m:

function[gama,theta]=tran(x,y)gama=sqrt(x*x+y*y);theta=atan(y/x);调用tran.m的命令文件main1.m:[gam,the]=tran(30,40);四.函数文件【例10】利用函数文件,实现直角坐标(x,y)与极坐标(解:

functionli2%ab互换

a=1:9;

b=[111213;141516;171819];c=a;a=b;b=c;ab例2:建立一个函数文件,将变量a、b的值互换。解:例2:建立一个函数文件,将变量a、b的值互换。例3:建立函数文件,将华氏温度f转换为摄氏温度c解:

functionc=f2c(f)c=5*(f-32)/9>>f2c(100)c=37.7778

例3:建立函数文件,将华氏温度f转换为摄氏温度c【例11】

利用函数的递归调用,求n!。

functionf=factor(n)ifn<=1f=1;elsef=factor(n-1)*n;endreturn;%返回在命令文件main2.m中调用函数文件factor.m:

fori=1:10fac(i)=factor(i);endfac程序运行结果是:

fac=Columns1through612624120720Columns7through10504403203628803628800四.函数文件【例11】利用函数的递归调用,求n!。funct1.input函数:用于向计算机输入一个参数。调用格式:A=input(提示信息,选项);注:‘s’选项,则允许用户输入一个字符串。例如想输入一个人的姓名,可采用命令

xm=input('What''syourname:','s')【例2】

求一元二次方程a2+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)]将该程序以aa.m文件存盘,然后运行aa.m文件。1.input函数:用于向计算机输入一个参数。二.数据的输二.数据的输入输出

2.disp函数:命令窗口输出函数。调用格式:disp(输出项)注:输出项为字符串或矩阵。例如

A='Hello,MATLAB';disp(A)输出为:Hello,MATLAB二.数据的输入输出2.disp函数:命令窗口输出函数。5.2MATLAB程序控制结构5.2.1条件分支结构条件分支结构——根据一定条件来执行的各条语句。1.if语句

(1)单分支if语句:

if条件语句组

end

当条件成立时,则执行语句组,执行完之后继续执行if语句的后继语句,若条件不成立,则直接执行if语句的后继语句。5.2MATLAB程序控制结构(2)双分支if语句:

if条件语句组1else

语句组2end

当条件成立时,执行语句组1,否则执行语句组2,语句组1或语句组2执行后,再执行if语句的后继语句。(2)双分支if语句:(3)多分支if语句:

if条件1

语句组1

elseif

条件2

语句组2……

elseif

条件m

语句组melse

语句组nend(3)多分支if语句:functiony=shuru(x)ifx>=1

y=2*x.^2+1elseif(x<1)&(x>-1)y=0elsey=-x.^3end例4:计算函数y=functiony=shuru(x)例4:计算函数y=绘出函数的图像。x=-3:0.1:3;ifx>=1y=2*x.^2+1;plot(x,y)elseif-1<x<1y=5;plot(x,y)else

y=-x.^3;plot(x,y)end绘出函数2、Switch语句如果在一个程序中,必须针对某个变量不同取值情况进行相应操作,switch语句比if语句更方便。switch语句用于实现多重选择。

2、Switch语句语法:

switch分支条件(函数、变量、表达式)

case条件1(标量、字符串) 执行语句1 case{条件2条件3条件4…}

执行语句2 case… … otherwise

执行语句n end语法:例6:编写函数文件,将百分制成绩转换为五级制的成绩functionf=trangrade(x)switchfix(x/10)case{109}f='A';case8f='B';case7f='C';case6f='D';otherwisef='E';end运行结果:>>trangrade(97)ans=A>>trangrade(67)ans=D>>trangrade(55)ans=E例6:编写函数文件,将百分制成绩转换为五级制的成绩运行结果:【例6】根据变量num的值来决定显示的内容。

num=input('请输入一个数');switchnumcase-1disp('Iamateacher.');case0disp('Iamastudent.');case1disp('Youareateacher.');otherwisedisp('Youareastudent.');end三.程序设计(一)选择结构【例6】根据变量num的值来决定显示的内容。n5.2.2循环结构1.while循环

while循环以不定的次数重复执行一组语句。语法为:

while逻辑表达式循环体语句

endwhile语句执行过程,只要表达式里面的所有元素为真,就执行while和end之间的语句,否则就结束循环。在设计while循环时,应在循环体内有修改“逻辑表达式”的部分,确保执行了一定次数后可以退出循环。5.2.2循环结构例8:用while循环求1~100间整数的和

sum=0;i=1;whilei<=100sum=sum+i;i=i+1;endsumsum=5050例8:用while循环求1~100间整数的和例9:编写函数文件求小于自然数n的婓波纳契数列各项。该数列是一整数数列,其中每个数等于前面两数之和。已知前两项为11。functionf=fbnq(n)%计算婓波纳契数列各项f=[11];i=1;whilef(i)+f(i+1)<nf(i+2)=f(i)+f(i+1);i=i+1;end在指令窗口输入>>fbnq(30)ans=1123581321例9:编写函数文件求小于自然数n的婓波纳契数列各项。该数列是例10:按照下面的表达式计算,直至1/n!小于0.001。建立脚本文件ex10.merror=0.001;x=1;y=0;n=1;whilex>errory=y+x;x=x/n;n=n+1;endy运行结果:>>ex10y=2.7181例10:按照下面的表达式计算,直至1/n!小于0.001。建2.for循环

for循环允许一条或者一组语句被重复执行预先指定的次数。for循环的语法为:

for循环变量=表达式1:表达式2:表达式3

循环体

end循环次数:说明:表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环终值,当步长为1时,可以省略。表达式的值可以是正整数、负整数或者小数。循环次数如何计算?2.for循环循环次数:说明:表达式1的值为循环变量的初值例11:用for循环求1~100间整数的和sum=0;fori=1:100sum=sum+i;endsum例11:用for循环求1~100间整数的和sum=0;例12:使用for循环计算以及i!(i=1:10)的值。解:编写脚本文件forsum.msum=0;part=1;f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论