程序设计PPT文档格式.ppt

上传人:b****2 文档编号:15562591 上传时间:2022-11-05 格式:PPT 页数:86 大小:615.50KB
下载 相关 举报
程序设计PPT文档格式.ppt_第1页
第1页 / 共86页
程序设计PPT文档格式.ppt_第2页
第2页 / 共86页
程序设计PPT文档格式.ppt_第3页
第3页 / 共86页
程序设计PPT文档格式.ppt_第4页
第4页 / 共86页
程序设计PPT文档格式.ppt_第5页
第5页 / 共86页
点击查看更多>>
下载资源
资源描述

程序设计PPT文档格式.ppt

《程序设计PPT文档格式.ppt》由会员分享,可在线阅读,更多相关《程序设计PPT文档格式.ppt(86页珍藏版)》请在冰豆网上搜索。

程序设计PPT文档格式.ppt

第一行为function语句;

function后定义函数名和输入输出参数,函数被调用时按此格式执行;

文件名必须与函数名一一对应;

函数执行完后,只保留返回结果,不保留中间过程;

o例:

functionf=fibfun(n)%FIBFUNforcalculatingfibonaccinumbers.%Incidengtally,thenamefibonaccicomesfrom%FiliusBonassi,orsonofBonassus%fibfun.mifn2f=fibfun(n-1)+fibfun(n-2);

elsef=1;

endhelpfibfunFIBFUNforcalculatingfibonaccinumbers.Incidengtally,thenamefibonaccicomesfromFiliusBonassi,orsonofBonassusfibfun.mlookforfibFIBFUNforcalculatingfibonaccinumbers.注:

为了利用MATLAB的关键字搜索功能,应该在M文件的第一行注释中,尽可能多的包含函数的特征信息。

5.25.2控制语句控制语句本节主要内容1循环语句2选择语句3分支语句4人机交互语句11循环语句循环语句o循环语句l对于有规律的重复运算,要用循环语句来进行控制;

l循环体:

一组被重复执行的语句;

l循环的终止条件:

判断是继续执行循环还是终止执行跳出循环;

l有两种方式:

for循环和while循环。

lfor循环特点:

循环判断条件是对循环次数的判断,即循环次数是预先定义好的。

for循环变量=s1:

s3:

s2循环体语句组end说明:

for语句一定要有end结束标志;

循环语句中要用“;

”防止中间结果的输出;

书写时采用锯齿结构以增加可读性;

求mysum=0;

fori=1:

1:

100mysum=mysum+i;

end;

mysum求取s1的值ii在s1和s2之间?

循环体语句组i+s3-i是否结束循环lfor循环的一般形式forv=vectstatementsendvect为任意给定的向量,则循环变量从向量的第一个数值一直循环到最后一个数值。

例1(见前例):

mysum=0;

v=1:

100;

fori=v;

mysum=mysum+i;

endmysum例2:

x=;

fori=Hello,x=ix;

endxlwhile循环while逻辑变量循环体语句组end例(见前例):

i=1;

while(i10000),break;

endmysum=mysum+m;

endm,mysumif条件式条件块语句组1else条件块语句组2end条件语句组语句组1语句组2是否例:

多项式加例:

多项式加p1=154;

p2=16116;

n1=length(p1);

n2=length(p2);

ifn1r=input(Howmanyapples:

)Howmanyapples:

2r=2r=input(Whatsyourname?

s)Whatsyourname?

Gundamr=Gundamlyesinput智能输入命令answer=yesinput(question,default,possib)question为屏幕提示问题,default为默认值,possib为检验范围。

o请求键盘输入命令keyboard当程序遇到此命令时,暂停执行程序并等待键盘输入状态。

处理完毕后,键入return并回车,程序将继续运行。

通常用来对程序调试及在程序中修改变量。

o等待用户反应命令pause使程序暂时终止运行,等待用户按任意键后继续运行。

pause暂停程序,等待回应;

pause(n)等待n秒后继续执行;

pauseon显示并执行pause命令;

pauseoff显示但不执行pause命令。

o中断命令break用在循环语句或条件语句中,使得不必等待循环的自然结束。

例:

鸡兔同笼,头有36,脚共100,求鸡兔各多少?

whileiifrem(100-i*2,4)=0&

(i+(100-i*2)/4)=36break;

endi=i+1;

endchicken=irabit=(100-2*i)/4执行后结果为:

chicken=22rabit=145.35.3函数变量及变量作用域函数变量及变量作用域oMATLAB语言的函数中,主要有输入变量、输出变量和内部变量;

o输入变量是函数的入口数据,是函数操作的主要对象;

o函数的作用就是对输入变量进行操作以实现一定的功能。

onargin函数控制输入变量的个数例:

编制函数test1实现如下功能:

如果只提供一个输入变量,则求该输入变量的模,如果有两个输入变量则求它们的和。

functionc=test1(a,b)if(nargin=1)c=det(a);

elseif(nargin=2)c=a+b;

endtest1(4,5)ans=9test1(6)ans=6运行结果运行结果ovarargin可以实现不定数目的输入变量的函数,函数的一切输入变量均存储在单元数组varargin中。

o与之相对应,输出变量也有相应的函数,如:

nargout、varargout等。

test(90,80,70,100)maavg=80engavg=90test(90,80,70,100,85,78)maavg=81.6667engavg=86可以实现不定数目输入变量的计算o变量作用域l函数内部定义的变量均为局部变量,如果需要使用全局变量,则应当使用命令global定义,并且在任何使用该全局变量的函数中都应加以定义。

l定义全局变量时,变量之间必须用空格分隔,不能以逗号分隔。

globalfirstlevelsecondlevelfirstlevel=85;

secondlevel=75;

a,b,c=test3(90,89,60,79,89,60,99,98,100)a=1b=2c=0在命令窗口中的运行:

5.45.4子函数与局部函数子函数与局部函数o函数文件中题头定义的函数为主函数,在函数体内定义的其他函数即为子函数。

子函数只能为主函数或同一主函数下其他的子函数所调用。

functionc=test(a,b)%mainfunctionc=test1(a,b)*test2(a,b);

functionc=test1(a,b)%subfunctionc=a+b;

functionc=test2(a,b)%subfunctionc=a-b;

o放置于目录private下的函数称为局部函数,这些函数只有private目录的父目录中的函数才可以调用,其他目录的函数不能调用。

局部函数与一般函数文件的编辑相同。

oMATLAB在调用函数时,首先检测该函数是否为此文件的子函数;

如果不是,再检测是否为可用的局部函数;

如果仍不是,则检测MATLAB搜索路径中其他的M文件。

5.55.5程序设计的辅助函数程序设计的辅助函数oMATLAB程序设计中辅助函数的合理使用,可以增强函数的“鲁棒性”、丰富函数功能;

o常用的辅助函数有:

执行函数容错函数时间控制函数o执行函数ly1,y2,yn=feval(function,x1,x2,xn)以函数名为输入变量的函数。

levalin(workspacename,expression)对指定工作空间workspacename中的变量进行操作,计算表达式expression的值。

o容错函数error(错误信息)触发函数error时,中断程序的运行,显示错误信息。

warning用法类似于error函数,但不会中断程序。

functionc=testerror(a,b)flag=0;

ifischar(a)&

ischar(b)flag=1;

elseerror(Inputmustbeastring!

);

endifflagc=strcat(a,b);

endtesterror(1,you)?

Errorusing=testerrorInputmustbeastring!

testerror(1,you)ans=1youo时间控制函数日期表达形式:

dd-mmm-yyyymm/dd/yymm/dd12-Oct-200310/12/0310/12时间表达形式:

HH:

MM:

SSHH:

SSPMocputime的调用:

t=cputime;

程序段;

t=cputime-t;

显示该程序段运行所占用的CPU时间。

otic、toc的调用方法tic;

toc;

显示运行该程序段所需的时间。

oetime(time2,time1)计算两时刻的时间差。

o试探式语句try语句段1catch语句段2end首先试探性的执行语句段1,如果在执行过程中出现错误,则将错误信息赋给lasterr变量,并放弃该段语句,转而执行语句段2中的语句。

testtry(ilove,matlab)ans=214129224219215199testtry(ilove,matlab)ans=ilovematlab5.65.6程序设计优化程序设计优化o以矩阵为操作主体以向量运算代替循环运算,提倡矩阵操作tic;

x=1;

1000,y(i)=sin(x);

x=x+0.1*pi;

end,tocelapsed_time=0.0500tic;

x=1:

0.1*pi:

1000*pi;

y=sin(x);

tocelapsed_time=0.0100o在多重循环的情况下,建议外循环执行循环次数少的,内循环执行循环次数多的。

生成510000的Hilbert矩阵,其中hi,j=1/(i+j-1)test2.mticforj=1:

10000fori=1:

5H(i,j)=1/(i+j-1);

endendtoctest1.mticfori=1:

5forj=1:

10000H(i,j)=1/(i+j-1);

endendt

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1