预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共46页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

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

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

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

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

第五章本节内容§1M文献-脚本文献例:计算不不小于任意自然数nfibonnaci数。函数文献以function开头一行为引导行,是函数定义语句,表达该M文献是一种函数文献。协助文本首行(H1行):用于help协助使用和lookfor搜索协助文本:指H1行之后到函数体之前注释行。包括函数意义、各参数意义、调用格式以及程序作者、日期等。函数体是函数执行代码,是文献重要部分。注释:以%开头,可出目前途序中任意一行,用绿色表达。编译时会被忽视,不会影响程序运行速度。例:编写函数计算两点之间距离。当函数输出参数多于一种时,应当用方括号括起来,并以逗号隔开;传递给函数变量不必与函数定义行中参数同名;函数和文献命名规则与变量命名规则相似;若保留文献名与函数名不一样样,则在调用时必须使用文献名。提议:函数名与文献名应一致(系统默认)函数文献运行时,MATLAB会专门为其开辟一临时工作空间(函数空间),所有变量都寄存于此。文献运行完毕后,该临时空间以及所有中间变量就立即被清除;函数空间随函数文献调用而产生,随调用而结束;函数文献变量除尤其申明外均是局部变量函数运行-调用脚本文献和函数文献辨别1)以ffib.m为名存盘2)MATLAB命令窗口输入命令:>>ffib(1000)即可求不不小于1000Fibonacci数。递归调用:函数调用其自身§2函数操作函数参数数目可调性输入/输出参数可变性错误处理局部变量和全局变量其他函数类型函数句柄[y1,y2,…]=feval(FH,arg1,arg2,…)-执行函数句柄FH指定计算§3文献操作文献关闭文献读和写fwrite是按照指定数据精度将矩阵中元素写入到文献中;fread用于读取二进制文献数据,并将数据存入矩阵中。fwrite按照指定数据精度将矩阵中元素写入到文献中A:用来寄存写入文献数据;precision:数据精度,char/int/double/float等;count:返回所读取数据元素个数;size:数据A尺寸,N表达读N个元素到一种列向量,inf表达读取整个文献,[M,N]表达读数据到M×N矩阵中,数据按列寄存;fprintf将数据按照指定格式写入到文献fp中count:数据元素个数format:数据格式。%d整数,%f浮点数,%s字符串详情请见MATLAB协助文献§4程序调试将也许出错语句背面分号去掉,显示中间成果;运用disp函数显示中间变量值在程序合适位置添加keyboard语句。当程序运行至此时将暂停(在指令窗中显示k>>提醒符),顾客可以查看工作区中变量,也可变化变量值。当输入return指令时返回程序,继续运行。程序暂停:采用pause函数可以暂停程序,直到顾客按任一键程序才继续执行。若要强行中断程序运行,可用ctrl+c。调试一种单独函数时,可将函数改写为脚本文献,此时可直接对输入参数赋值,然后以脚本方式运行该M文献;使用调试器可以精确地找到运行错误。通过设置断点可使程序运行到某行暂停,查看和修改工作空间中变量;也可以逐行运行程序,对执行流程进行完全监控。调试器DebugDebug菜单项Run(F5):从头开始执行程序,直到碰到一种端点或程序结束;RuntoCursor:从目前位置运行到光标处;ExitDebugMode:退出调试工具,同步结束调试过程和程序运行过程。Set/ClearBreakpoints(F12):设置或清除光标所在行断点ClearallBreakpoints:清除所有断点调试措施环节单步执行各语句:此时可查看各变量内容,以判断程序流程与否对旳。因collatz.m程序需要输入参数n,故查看输出成果不能用Run命令,而需在指令窗中输入>>collatz(5)§6.5程序优化clearvr=[0.89,1.20,3.09,4.27,3.62,7.71,8.99,7.92,9.70,10.41];ir=[0.028,0.040,0.100,0.145,0.118,0.258,0.299,0.257,0.308,0.345];L=length(vr)%计算数组长度fork=1:Lr(k)=vr(k)/ir(k);%根据各测量点计算电阻endsr=0;fork=1:Lsr=sr+r(k);%计算所有电阻之和endrm=sr/L%计算电阻平均值clearvr=[0.89,1.20,3.09,4.27,3.62,7.71,8.99,7.92,9.70,10.41];ir=[0.028,0.040,0.100,0.145,0.118,0.258,0.299,0.257,0.308,0.345];r=vr./ir%计算各测量点上电阻值rm=mean(r)%计算电阻平均值本节规定