matlab课件-ch6文件第6章和函数句柄_第1页
matlab课件-ch6文件第6章和函数句柄_第2页
matlab课件-ch6文件第6章和函数句柄_第3页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

6章M文件和函数句 是由C语言开发而成的,因此M文件的语则与C语言几乎一样,简单控制3制,相互配合使用可以实现功能强大的程序if-else-end条件控6.1-1if-else-end elseifexpr给出“逻辑expr1”辑1”的那个分支的指令组被执行;该使用方法常被switch-caseexpr通常是关系、逻辑运算构成的表达式。也可以是一般代数表达式,此时给出的任何1"。当exprexpr-1、0、1input=ifinput==-1disp('negativeone');elseifinput==0elseifinput==1disp('positiveone');disp('othervalue');positiveswitch-case控制6.1-2switch-case switchexprcasevalue_1casevalue_2casevalue_kexprvalue_1是给定的数值、字符串标量(或胞元数组exprvalue_1(或其中的胞元元素)value_k是给定的数值、字符串标量(或胞元数组exprvalue_k(或其中的胞元元素)caseinput=1;switchinputcase-1disp('negativeone');case0case1disp('positiveone');disp('othervalue');positivefor循环while循6.1-3for循while循forix=arraywhile注:for循环的次数确定,while循环的次数不确3.3-1rurui分别是电阻(欧姆)、电压(伏特)、电流(ivr=[0.89,1.20,3.09,4.27,3.62,7.71,8.99,7.92,9.70,ir=[0.028,0.040,0.100,0.145,0.118,0.258,0.299,0.257,%fork=1:L%forrm=vr=[0.89,1.20,3.09,4.27,3.62,7.71,8.99,7.92,9.70,ir=[0.028,0.040,0.100,0.145,0.118,0.258,0.299,0.257, 相同位置元素进行运 %现成的函数,查阅方. 【例6.1-4】编写计算S ,是预先给定的控制n1kk

k 编写M函数文function% Calculatethesumofaspecialseries% Sumofaspecial% Theminimumamongallnumberstohave% Givenwhiled>epsilon把文件exm060104.m保存在处于搜索路径上的文件夹中SN控制程序流的其它常用指6.14指令及使用使用说明)“控制权”交还。messagev遇到keyboard时,将“控制权”交给键盘,用户可以从键盘输入各种return指令后,“控制权”才交还语句体1语句体2try-catch-endtry之下的一个语句catch语句lasterr函数可以查询最后的错误信息,查询结果为空字符串1成功执行。n=A=eye(3);an=A(n,:),an=A(end,:),an ansIndexexceedsmatrixend,switch–case等中断。fid=fopen('magic.m','r');s='';whilelinefgetl(fid);%fgetl函数用于返回下一行文本的字符串且ifisempty(line)s=strvcat(s,line);fid=fopen('magic.m','r');count=0;while~feof(fid)line=fgetl(fid);ifisempty(line)|strncmp(line,'%',1)count=count+1;disp(sprintf('%dlines',nreturn数据输入/输准C语言I/O函数的。对文件进行底层I/O操作时,一般有以下三个步骤:fid=fopen('filename',fread函数用于二进制文fid=fopen('Untitled.m','r');A=fread(fid)'statusfclose(fid):当函数返回0-1statusfclose('all'):关闭除fid为0、1、2以外的所有文件。成功时返回0,否则返回-1。6.2文件和函数文M文件分为M文件和M函数文件M文文件中没有输入或输出参量,因而它是最简单的M文件类型。当运行一个文件时,将逐行执行文件内的每条指令。需要注意的是,的运行有可能覆盖工作区间原本注(2)在运行这个时,只是简单地从文件中那一条条指令,送到中,(3)与在指令窗中直接运行指令一样文件运行产生的变量都是驻留在基本产生;只有当关闭时,该基本空间才被删除。,M函数变量进行操作。函数工作区间与工作空间不同,它只在函数内部传递变量而且不H1行:帮助文本的第一行,以“%局部变量和全局通过global指令,也允许几个不同的函数空间以及基本工作空间共享同一个functiony=add3(x)globalaby=a+b+globalaa=b=M函数文件的一般结文件无此行编写M函数文件exm060201.m(以保存文件名为准,函数文件名必须以文件无此行function %函 行,必不可少% Theareaandperimeterofaregularpolygon正多边形的面积和周长,H1%NThenumberof 文本区(包括H1%RThe%Alinespecificationtodetermineline%STheareaoftheregular%LTheperimeteroftheregular% 用蓝实线画半径1的% 用蓝实线画外接半径为1N边% 用蓝实线画外接半径为RN边% str指定的线画外接半RN边% 给出多边形面积S,并画相应正多边形% 给出多边形面积S和周长L,并画相应正多边形switchnargin %函数体,必不可少。case0 %正100casecase2case3;error('输入量太多。ifnargout==0elseifnargout>2axisequalsquareboxon把exm060201.m文件保存在 %计算外接半径为2的正六边形面积和周长,并绘程序的使用M-LintCodeCheckReport在当前路径窗口中单击按钮,将打开M-LintCodeCheckReport窗口,窗口中显示的是当前路径使用Profiler 使用打开Profiler,在Runthiscode字段输入如下语句:[t,y]=ode23('lotka',[0100],[20;20])耗费时间的多少从大到小排列。单击FunctionName超后,可以将函数按字母表顺序排列TotalTime:每个函数总共耗费的时间,包含所有被调用的子函数。单击TotalTime超后SelfTime:每个函数总共耗费的时间,不包含所有被调用的子函数。单击SelfTime超后TotalTimePlot:图形显示SelfTime和TotalTimeprofileondetaillevel:指定将要profile的函数级别,levelprofileonhistoryprofileoff:终止profileprofileclearprofileviewer:打开Profilersprofile('status'):显示包含当前profilestatsprofile('info'):终止profile并显示包含profileprofile[t,y]=ode23('lotka',[0profileviewerprofileresumeprofileofffork=1:100a{k}=magic(k);码的执行速度,如将for循环和while循环转化为等价的向量或矩阵运算。使用fori=fort1=i=i+y1(i)=sin(t1);t2=y2=sin(t2);for循环和while循环在每次循环时将改变数据的结构,这会严重影响程序的性能和

温馨提示

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

评论

0/150

提交评论