2-MATLAB编程简介.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:46 大小:372KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

2-MATLAB编程简介.ppt

2-MATLAB编程简介.ppt

预览

免费试读已结束,剩余 36 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

2MATLAB编程简介2.1关系与逻辑运算2.1.1关系操作符由关系运算符构成的表达式称为关系表达式.2.1.2逻辑运算符由逻辑运算符构成的表达式称为逻辑表达式.2.2控制流MATLAB提供四种决策或控制语句:if-else-end语句、switch语句、for语句、while语句前两种属于分支结构,后两种属于循环结构.这些结构通常包含大量的MATLAB命令,故常出现在MATLAB程序中,而不是直接应用在MATLAB提示符下.2.2控制流2.2.1分支结构:if语句2.2.2分支结构:switch语句2.2.3循环结构:for语句2.2.4循环结构:While语句2.2.1分支结构1:if-else-end语句1.单分支选择结构单分支结构的一般形式是:if<条件表达式>{<命令序列1>}else{<命令序列2>}end说明:如果条件表达式为真,就执行命令序列1,否则执行命令序列2.例:设求f(2),f(-1)先建立M文件fun1.m,定义函数f(x),再在Matlab命令窗口输入fun1(2),fun1(-1)即可。2.多分支选择结构多分支结构可以使用单分支结构的嵌套形式,也可以使用下述格式:if(<条件表达式1>),{<命令序列1>}elseif(<条件表达式2>),{<命令序列2>}elseif(<条件表达式3>),{<命令序列3>}elseif………else,{<命令序列>}end例:设求f(2),f(0.5),f(-1)先建立M文件fun2.m,定义函数f(x),再在Matlab命令窗口输入fun2(2),fun2(0.5),fun2(-1)即可。2.2.2分支结构2:switch语句switch语句可以根据一个变量或表达式的值执行特定的语句,其格式如下:switch(<条件表达式>)case<表达式1>,{<命令序列1>}case<表达式2>,{<命令序列2>}……otherwise,{<命令序列>}end例:编一个转换成绩等级的函数文件,其中转换标准为:分数在[90,100]中,显示优秀;分数在[80,90)中,显示良好;分数在[60,80)中,显示及格;分数在[0,60)中,显示不及格。先建立M文件fun3.m:Functionresult=fun3(x)n=fix(x/10)switchncase{9,10},disp('优秀')case8,disp('良好')case{6,7},disp('及格')otherwise,disp('不及格')end2.2.3循环结构1:for语句for循环结构允许一组命令以固定的和预定的次数重复,其一般格式为:forx=<初值>:<步长>:<终值>{<循环体>}End其中x称为循环变量,如果省略步长,则步长默认为1.例如:计算1到100的和.a=0;fori=1:100a=a+i;enda循环变量也可以是一个向量,例如对x=1,4,5,7,9,8,10,求Sin(x)–Cos(x)的值a=[1,4,5,7,9,8,10];forx=ay=sin(x)-cos(x)end上述循环也可以直接使用向量运算:a=[1,4,5,7,9,8,10];y=sin(a)-cos(a)1.比较法排序设有10个数存放在数组a中,分别表示为:a(1)、a(2)、a(3)、a(4)、a(5)、a(6)、a(7)、a(8)、a(9)、a(10)先将a(1)与a(2)比较,若a(2)<a(1),则将a(1)、a(2)中的值互换:a(1)存放较小者。再将a(1)与a(3)、…、a(10)比较,并依次作出同样的处理:10个数中的最小者放入a(1)中。第2轮:将a(2)与a(3)、…、a(10)比较,并依次作出同样的处理:第1轮余下的9个数中的最小者放入a(2)中。继续进行第3轮、第4轮、…,直到第9轮后,余下的a(10)自然就是10个数中的最大者。至此,10个数已从小到大顺序存放在a(1)~a(10)中。算法的流程图如下。a=rand(1,10)fori=1:9forj=i+1:10if(a(i)>a(j)),t=a(i);a(i)=a(j);a(j)=t;end;end;end;a2.求最大值及其所处的位置有一个45矩阵,编程求出其最大值及其所处的位置.a=rand(4,5)b=0;c=[00];fori=1:4forj=1:5ifb<a(i,j),b=a(i,j);c=[ij];endendendb,c2.2.4循环结构2:While语句与for循环以固定次数求一组命令相反,while循环