tyao计算机仿真与模拟6M文件.ppt

上传人:b****1 文档编号:1765396 上传时间:2022-10-23 格式:PPT 页数:27 大小:145.50KB
下载 相关 举报
tyao计算机仿真与模拟6M文件.ppt_第1页
第1页 / 共27页
tyao计算机仿真与模拟6M文件.ppt_第2页
第2页 / 共27页
tyao计算机仿真与模拟6M文件.ppt_第3页
第3页 / 共27页
tyao计算机仿真与模拟6M文件.ppt_第4页
第4页 / 共27页
tyao计算机仿真与模拟6M文件.ppt_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

tyao计算机仿真与模拟6M文件.ppt

《tyao计算机仿真与模拟6M文件.ppt》由会员分享,可在线阅读,更多相关《tyao计算机仿真与模拟6M文件.ppt(27页珍藏版)》请在冰豆网上搜索。

tyao计算机仿真与模拟6M文件.ppt

1返回上一次2.6M文件及程序调试文件及程序调试2返回上一次2.6M文件及程序调试文件及程序调试M文件:

文件:

由由MATLAB命令语句构成的程序文件命令语句构成的程序文件称作称作M文件,它将文件,它将.m作为文件的扩展名。

作为文件的扩展名。

可以直接阅读并用任何文本编辑器来建立这种可以直接阅读并用任何文本编辑器来建立这种文件。

文件。

在命令窗口中输入在命令窗口中输入edit或或edit*.m启动内建的启动内建的M文本编译器文本编译器确保要编译的文件在确保要编译的文件在Matlab的路径中。

的路径中。

3返回上一次M文件可分为两种:

主程序和子程序。

文件可分为两种:

主程序和子程序。

主程序主程序(scriptfile,也称主程序文件或脚本,也称主程序文件或脚本文件文件):

一般是由用户为解决特定的问题而编一般是由用户为解决特定的问题而编制的程序。

制的程序。

子程序子程序(functionfile,称为函数文件,称为函数文件):

它必:

它必须由其它须由其它M文件来调用。

函数文件往往具有一文件来调用。

函数文件往往具有一定的通用性,并且可以进行递归调用。

定的通用性,并且可以进行递归调用。

4返回上一次主程序文件:

主程序文件:

常用于一连串费时的命令常用于一连串费时的命令没有输入和输出参数没有输入和输出参数参数的变量都存放在工作空间中,与其他参数的变量都存放在工作空间中,与其他主程序文件及主程序文件及matalb命令行接口共享。

命令行接口共享。

5返回上一次2.6.12.6.1主程序文件主程序文件主程序文件的格式特征如下:

主程序文件的格式特征如下:

(1)

(1)有关程序的功能、使用方法等内容的注释。

有关程序的功能、使用方法等内容的注释。

主程序前面的若干行通常是程序的注释,主程序前面的若干行通常是程序的注释,每行以每行以“”开始。

开始。

(2)

(2)程序的主体。

程序的主体。

(3)(3)整个程序应按整个程序应按MATLABMATLAB标识符的要求起文标识符的要求起文件名,并加上后缀件名,并加上后缀mm。

6返回上一次2.6.1主程序文件主程序文件对主程序文件的运行方式通常有两种:

对主程序文件的运行方式通常有两种:

在在MATLABMATLAB的命令窗口中运行:

在的命令窗口中运行:

在MATLABMATLAB的命令的命令窗中键入此程序的文件名后,系统就开始执行窗中键入此程序的文件名后,系统就开始执行文件中的程序;文件中的程序;在编辑窗口中运行:

通过编辑窗口打开所要运在编辑窗口中运行:

通过编辑窗口打开所要运行的文件,然后再运行。

主程序文件中的语句行的文件,然后再运行。

主程序文件中的语句可以对可以对MATLABMATLAB工作空间中的所有数据进行运算工作空间中的所有数据进行运算操作。

操作。

7返回上一次%计算计算Fibonacci数的文件数的文件clear,closeallN=input(InputMaxnumberN=)f=1,1;i=1;%变量初始化变量初始化whilef(i)+f(i+1)N%循环条件检验循环条件检验f(i+2)=f(i+1)+f(i);%求求Fibonacci数的算式数的算式i=i+1;endf,plot(f)8返回上一次2.6.2函数文件函数文件Matlab函数文件是用来定义子程序的函数文件是用来定义子程序的,它它与主程序文件的主要区别有三点:

与主程序文件的主要区别有三点:

(1)由由function起头,后跟的函数名必须与文件起头,后跟的函数名必须与文件名相同;名相同;

(2)有输入输出变量,可进行变量传递;有输入输出变量,可进行变量传递;(3)程序中的变量除非用程序中的变量除非用global声明,否则均为声明,否则均为局部变量,不保存在工作空间中。

局部变量,不保存在工作空间中。

9返回上一次2.6.2函数文件函数文件函数文件通常是在扩充函数文件通常是在扩充Matlab函数库时使函数库时使用,可以接收参数,也可以返回参数。

用,可以接收参数,也可以返回参数。

运算中所产生的变量都存放在函数本身的运算中所产生的变量都存放在函数本身的工作空间中工作空间中10返回上一次2.6.2函数文件函数文件通常,函数文件由几部分构成:

通常,函数文件由几部分构成:

函数定义行;函数定义行;函数帮助文本;函数帮助文本;函数体;函数体;注释。

注释。

11返回上一次2.6.2函数文件函数文件函数定义命令函数定义命令function()格式:

格式:

functionoutput1,output2,=functionname(input1,input2,.)函数体函数体功能:

定义函数名为功能:

定义函数名为functionname的函数,的函数,该函数的输出变量为该函数的输出变量为output1,output2,,输入变量为输入变量为(input1,input2,.)。

12返回上一次2.6.2函数文件函数文件例:

例:

functiony=mean_aty(x)%求平均值求平均值%对于向量,返回向量对于向量,返回向量x中各元素的平均值中各元素的平均值%对于矩阵,返回矩阵对于矩阵,返回矩阵x中各列元素的平均值中各列元素的平均值m,n=size(x);ifm=1m=n;endy=sum(x)/m;y%displaytheanswer13返回上一次2.6.2函数文件函数文件例如:

例如:

functiony=mean(x)function为函数定义的关键字,为函数定义的关键字,mean为函为函数名,数名,y为输出变量,为输出变量,x为输入变量。

为输入变量。

注意:

注意:

当函数具有多个输出变量时,则以方括号括起;当函当函数具有多个输出变量时,则以方括号括起;当函数具有多个输入变量时,则直接用圆括号括起。

例如:

数具有多个输入变量时,则直接用圆括号括起。

例如:

functionx,y,zsphere(theta,phi,rho)当函数不含输出变量时,则直接略去输出部分或当函数不含输出变量时,则直接略去输出部分或采用空方括号表示。

采用空方括号表示。

14返回上一次2.6.2函数文件函数文件1函数调用函数调用常见的函数调用形式为:

常见的函数调用形式为:

out1,out2,=functionname(in1,in2,)一个函数可以嵌套,也可以调用其它的函一个函数可以嵌套,也可以调用其它的函数,甚至调用自己(递归调用)。

数,甚至调用自己(递归调用)。

15返回上一次2.6.2函数文件函数文件主函数与子函数主函数与子函数Matlab中允许一个中允许一个M函数文件包含多个函函数文件包含多个函数的代码。

第一个出现的函数称为主函数,数的代码。

第一个出现的函数称为主函数,其他的称为子函数。

其他的称为子函数。

保存时文件名与主函数名相同保存时文件名与主函数名相同16返回上一次2.6.2函数文件函数文件主函数可以在外部调用,主函数可以在外部调用,子函数只在主函数和该文件中其他子函数中可见子函数只在主函数和该文件中其他子函数中可见子函数的第一行是其它函数声明行,而且多个子子函数的第一行是其它函数声明行,而且多个子函数不分排序。

函数不分排序。

在在M文件中,任何指令都可以通过名字调用函数文件中,任何指令都可以通过名字调用函数同一个同一个M文件中的主函数和子函数的工作空间是文件中的主函数和子函数的工作空间是彼此独立的。

各函数间的信息可以通过输入输出彼此独立的。

各函数间的信息可以通过输入输出变量、全局变量等进行传递变量、全局变量等进行传递17返回上一次2.6.2函数文件函数文件在在MATLAB中,函数参数具有自己的专有中,函数参数具有自己的专有工作空间。

函数中的参数和命令行参数不工作空间。

函数中的参数和命令行参数不在一个空间中,它们的唯一联系为函数的在一个空间中,它们的唯一联系为函数的输入输出变量。

输入参数在函数中是可读输入输出变量。

输入参数在函数中是可读的,但任何改动不会传递回上一级空间。

的,但任何改动不会传递回上一级空间。

18返回上一次2.6.2函数文件函数文件通常,在通常,在MATALB工作空间中,变量有工作空间中,变量有三类:

三类:

由调用函数传递输入和输出数据的变量;由调用函数传递输入和输出数据的变量;在函数内临时产生的变量在函数内临时产生的变量称为局部变量称为局部变量由调用函数空间、基本工作空间或其它函数由调用函数空间、基本工作空间或其它函数工作空间提供的变量工作空间提供的变量称为全局变量。

称为全局变量。

19返回上一次2.6.2函数文件函数文件在在MATLAB中对变量以及全局变量管理提供中对变量以及全局变量管理提供global命令:

命令:

global格式:

格式:

globalXYZ功能:

将变量功能:

将变量X、Y、Z定义成全局变量,定义成全局变量,在函数、命令行等都可以共享这些变量在函数、命令行等都可以共享这些变量在实际应用中,应当尽量避免使用全局变量。

在实际应用中,应当尽量避免使用全局变量。

20返回上一次子函数文件:

functiony=exmp_global(A)globalNy=sum(A)/N;主文件:

globalNN=100;A=1:

10;mean_A=exmp_global(A)21返回上一次2.6.2函数文件函数文件注意事项:

注意事项:

函数文件,函数名称和文件名必须相同;函数文件,函数名称和文件名必须相同;需要注意函数文件的放置位置;需要注意函数文件的放置位置;使用函数可以加快计算速度;使用函数可以加快计算速度;函数的前一部分注释为帮助行,在使用函数的前一部分注释为帮助行,在使用help命令是看到的为这些注释行。

命令是看到的为这些注释行。

22返回上一次2.6.2函数文件函数文件函数可以按少于函数函数可以按少于函数M文件中所规定的文件中所规定的输入和输出变量进行调用,但输入和输出变量进行调用,但不能用多不能用多于于函数函数M文件中所规定的输入和输出变文件中所规定的输入和输出变量数目。

量数目。

23返回上一次2.6.2函数文件函数文件MATLAB搜寻函数搜寻函数M文件的顺序文件的顺序例如,输入例如,输入sin,MATLAB首先认为首先认为sin是一是一个变量;个变量;如果它不是,那么如果它不是,那么MATLAB认为它是一个内置认为它是一个内置函数;函数;如果还不是,如果还不是,MATLAB检查当前检查当前sin.m的目录的目录或文件夹;或文件夹;如果它不存在,如果它不存在,MATLAB就检查就检查sin.m在在MATLAB搜寻路径上的所有目录或文件夹搜寻路径上的所有目录或文件夹。

24返回上一次2.6.3程序的调试程序的调试1.MATLAB的主程序的调试:

的主程序的调试:

MATLAB的查错能力很强,加上工作空的查错能力很强,加上工作空间中变量的保存和显示功能不需要专门的间中变量的保存和显示功能不需要专门的调试命令,因此,主程序的调试很方便地调试命令,因此,主程序的调试很方便地进行。

进行。

25返回上一次2.6.3程序的调试程序的调试2.函数程序的调试:

函数程序的调试:

因为在函数程序中出错而停机时,其变量因为在函数程序中出错而停机时,其变量不作保存。

虽然它也会指出出错的语句,不作保存。

虽然它也会指出出错的语句,但因为子程序中的变量但因为子程序中的变量(局部变量局部变量)在程序在程序执行完毕后会自动消失,其它现场数据又执行完毕后会自动消失,其它现场数据又无记录,会给调试带来很大困难。

可采用无记录,会给调试带来很大困难。

可采用下列措施:

下列措施:

26返回上一次2.6.3程序的调试程序的调试

(1)把某些分号改为逗号,使中间结果能显把某些分号改为逗号,使中间结果能显示在屏幕上,作为查错的依据。

示在屏幕上,作为查错的依据。

(2)在子程序中适当部位加在子程序中适当部位加keyboard命令,命令,到了此处,系统会暂停而等待用户键入命到了此处,系统会暂停而等待用户键入命令。

这时子程序中的变量还存于工作空间令。

这时子程序中的变量还存于工作空间中,可以对它进行检查。

中,可以对它进行检查。

return返回返回27返回上

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

当前位置:首页 > 工程科技 > 兵器核科学

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

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