《MATLAB教程及实训 第4版》课件 第5章程序设计和M文件实训.pptx

《MATLAB教程及实训 第4版》课件 第5章程序设计和M文件实训.pptx

第5章程序设计和M文件;5.1程序控制

5.1.1分支控制语句;例根据函数计算结果,使用if结构,函数如下

x=input(InputXplease.x=‘)

%从键盘输入x的值

InputXplease.x=10

ifx=1

y=x.^2-1

elseif-1xx1

y=0*x

else

y=-x.^2-1

end

y=

99

;;例使用switch结构判断学生成绩的等级,90分以上为优,80~90为良,70~80为中,60~70为及格,60分以下为不及格。

score=98;

s1=fix(score/10); %取十位数

switchs1

case{9,10}

s=优

case8

s=良

case7

s=中

case6

s=及格

otherwise

s=不及格

end;5.1.2循环控制语句;例使用for循环实现符号运算在实时编辑器窗口编写,并运行程序。;例使用for循环计算并绘制x在[-5,5]范围内的三段曲线,函数为

;例使用for循环实现动画曲线,在实时编辑器窗口编写并运行程序。;2.while循环

while条件表达式

循环体

end

例使用while循环对单位矩阵进行转换,转换为对角线上分别是1、2、3、4、5的矩阵,在实时编辑器窗口编写并运行程序。

;3.break和continue语句

(1)break语句

break语句使包含break的最内层for或while循环强制终止,并立即跳出该循环结构,执行end后面的命令,break一般与if语句结合使用。

(2)continue语句

continue语句与break不同的是continue只结束本次for或while循环,而继续进行下次循环,continue一般也与if语句结合使用。

;例使用for循环将字符串中的数值取出,遇到非数值则跳过。

str=Theresultis100.;

len=length(str);

s=[];

forn=1:len

ifstr(n)9|str(n)0 %非数值时

continue

end

s=[sstr(n)];

end

;练习:;5.1.3错误控制语句;例使用错误控制结构查看a*b的运算。;5.1.4流程控制命令;3.input命令

r=input(‘str’,‘s’)%从键盘中输入数据保存到变量r。;5.pause命令

pause命令用来使程序暂停运行,当用户按任意键才继续执行。

pause(n) %暂停n秒

6.warning和error命令

在程序中可以给出错误或警告信息以提醒用户。

warning(‘message’) %显示警告信息 error(‘message‘) %显示错误信息

;5.2M文件结构;5.2.1M文件的一般结构;在命令窗口中使用lookfor和help命令查找“ex5_9”的信息,则lookfor只显示H1行的信息,而help命令显示H1行和其它注释文本.;5.2.2M脚本文件和M函数文件;2.M函数文件

M函数文件的说明如下:

(1)M函数文件中的函数声明行是必不可少的;

(2)M函数文件在运行过程中产生的变量都存放在函数本身的工作空间中,函数的工作空间是独立的、临时的,随具体的M函数文件调用而产生并随调用结束而删除,在MATLAB运行过程中如果运行多个函数则产生多个临时的函数空间;

(3)当文件执行完最后一条命令或遇到“return”命令时就结束函数文件的运行,同时函数工作空间的变量被清除;

(4)一个M函数文件至少要定义一个函数。

;functionc=ex5_9(a,b)

%EX5_9(a,b)returnstheproductofaandbmatrices

%cistheproduct

%aisavector

%bisavector

try

c=a*b

catchME

c=a*b’

end

;5.2.3M文件编辑器/M实时编辑器窗口;5.3函数的使用

5.3.1主函数和子函数;5.3.2函数的输入输出参数;;;;例根据输入参数的个数将例5-11中参数个数使用varargin和varargout函数,绘制不同线型的曲线。

functionvarargout=ex5_12(varargin)

x=0:10;

lin=length(varargin);%取输入参数个数

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档