matlab函数文件和脚本文件学习教案_第1页
matlab函数文件和脚本文件学习教案_第2页
matlab函数文件和脚本文件学习教案_第3页
matlab函数文件和脚本文件学习教案_第4页
matlab函数文件和脚本文件学习教案_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、会计学1matlab函数文件函数文件(wnjin)和脚本文件和脚本文件(wnjin)第一页,共47页。第1页/共46页第二页,共47页。不使用指令clear加以清除,或MATLAB指令窗不关闭,这些变量将一直保存在基本工作空间中。第2页/共46页第三页,共47页。运行运行(ynxng)(ynxng)文件文件(F5/Debug|Run(F5/Debug|Run)第3页/共46页第四页,共47页。 函数文件(wnjin)是一种特殊类型的运行在自己独立的工作空间的M文件(wnjin),通过输入形参表接收数据,通过输出形参返回结果到调用文件(wnjin)。function function 输出输出(

2、shch)(shch)形参表形参表=fname(=fname(输入形参表输入形参表) )% H1% H1注释行注释行% % 其他注释行其他注释行 (可执行代码)(可执行代码)(return)(return)第4页/共46页第五页,共47页。第5页/共46页第六页,共47页。例:编写函数计算例:编写函数计算(j sun)两点之间的距离。两点之间的距离。第6页/共46页第七页,共47页。第7页/共46页第八页,共47页。第8页/共46页第九页,共47页。函数文件运行不能选中菜单(ci dn)Run,而是调用。 输出实参表输出实参表 函数名(输入实参表)函数名(输入实参表)n 函数调用的一般格式第9

3、页/共46页第十页,共47页。第10页/共46页第十一页,共47页。第11页/共46页第十二页,共47页。1)以为名存盘以为名存盘2)MATLAB命令命令(mng lng)窗口输入命令窗口输入命令(mng lng): ffib(1000)即可求小于即可求小于1000的的Fibonacci数。数。第12页/共46页第十三页,共47页。function f=factor(n) if n=1 f=1;else f=factor(n-1)*nendfor i=1:10 fac(i)=factor(i);endfac 打开文本编辑器编写函数(hnsh)文件新打开一文件编辑器,在编写的脚本文件中 调用该函

4、数(hnsh)文件第13页/共46页第十四页,共47页。n 参数值的传递(chund)第14页/共46页第十五页,共47页。第15页/共46页第十六页,共47页。参数参数(cnsh)后可以用条件后可以用条件语句确定需要执行的操作语句确定需要执行的操作第16页/共46页第十七页,共47页。第17页/共46页第十八页,共47页。function test(varargin)disp(nargin is num2str(nargin);for v=1:numel(varargin) disp(varargin num2str(v) is class(vararginv);end test(1,a,u

5、int8(32); nargin is 3varargin1 is doublevarargin2 is charvarargin3 is uint8第18页/共46页第十九页,共47页。第19页/共46页第二十页,共47页。第20页/共46页第二十一页,共47页。第21页/共46页第二十二页,共47页。第22页/共46页第二十三页,共47页。n内联函数(hnsh)的格式:n f=inline(表达式)创建内联表达式,若不指出变量,用x作为自变量n查看内联函数的内容 formula(f)第23页/共46页第二十四页,共47页。第24页/共46页第二十五页,共47页。y1,y2,=feval(F

6、H,arg1,arg2,) 执行执行(zhxng)函数句柄函数句柄FH指定的计算指定的计算第25页/共46页第二十六页,共47页。 fid=fopen( fid=fopen(文件名,文件名,打开方式打开方式)其中其中(qzhng):fid是存储的文件句柄,它是该数据文件的是存储的文件句柄,它是该数据文件的唯一标识,其值大于唯一标识,其值大于0表示文件打开成功;文件名表示文件打开成功;文件名名用字符串形式表示;打开方式有名用字符串形式表示;打开方式有r(只读只读)、w(只只写写)、a(追加追加)和和r+(可读可写可读可写)。第26页/共46页第二十七页,共47页。 sta=fclose(fid

7、sta=fclose(fid)其中:其中:sta表示关闭文件操作的返回表示关闭文件操作的返回(fnhu)值,若关闭成值,若关闭成功,返回功,返回(fnhu)0;否则返回;否则返回(fnhu)1。若要关闭所有已打开的。若要关闭所有已打开的文件,用文件,用fclose(all).rr只读方式打开,表示该文件已存在;只读方式打开,表示该文件已存在;r+r+读写方式打开文件,打开后先读后写;读写方式打开文件,打开后先读后写;ww打开后写入数据打开后写入数据(shj)(shj),更新文件;,更新文件;aa在打开的文件末端添加数据在打开的文件末端添加数据(shj)(shj);bb以二进制格式打开,系统的默

8、认形式以二进制格式打开,系统的默认形式第27页/共46页第二十八页,共47页。n文件的读和写文件的读和写n fwrite是按照指定的数据精度将矩阵是按照指定的数据精度将矩阵(j zhn)中的元素中的元素n写入到文件中;写入到文件中;fread用于读取二进制用于读取二进制文件的数文件的数n据,并将数据存入矩阵据,并将数据存入矩阵(j zhn)中。中。第28页/共46页第二十九页,共47页。l fwrite fwrite按照指定的数据精度将矩阵中的元素写入到按照指定的数据精度将矩阵中的元素写入到文件中文件中l A A:用来存放写入文件的数据;:用来存放写入文件的数据;l precision: pr

9、ecision: 数据精度,数据精度,char/int/double/ floatchar/int/double/ float等;等;l count count:返回所读取的数据元素个数;:返回所读取的数据元素个数;l size size:数据:数据A A的尺寸,的尺寸,N N表示表示(biosh)(biosh)读读N N个元素到个元素到一个列向量,一个列向量,infinf表示表示(biosh)(biosh)读取整个文件,读取整个文件,M,NM,N表示表示(biosh)(biosh)读数据到读数据到M MN N矩阵中,数据按列存放;矩阵中,数据按列存放; count=fwrite(fp,A,p

10、recision)count=fwrite(fp,A,precision) A,count=fread(fp,size,precision) A,count=fread(fp,size,precision)第29页/共46页第三十页,共47页。第30页/共46页第三十一页,共47页。l fprintf fprintf将数据按照指定的格式写入到文件将数据按照指定的格式写入到文件fpfp中中l count count:数据元素:数据元素(yun s)(yun s)个数个数l format format:数据格式。:数据格式。%d %d 整数,整数,%f %f 浮点数,浮点数,%s %s 字符串字符

11、串l 详情请见详情请见MATLABMATLAB帮助文件帮助文件a=stringfp=fopen(d:char1.txt,w)fprintf(fp,%s,a)fclose(fp)fp1=fopen(d:char1.txt,rt)b=fscanf(fp1,%s)A,count=fscanf(fp,format,size)A,count=fscanf(fp,format,size) count=fprintf(fp,format,A) count=fprintf(fp,format,A)第31页/共46页第三十二页,共47页。应用程序的错误(cuw)一般有两种:第32页/共46页第三十三页,共47页

12、。调试(dio sh)方法第33页/共46页第三十四页,共47页。n 程序的暂停:采用pause函数可以暂停程序,直到用户(yngh)按任一键程序才继续执行。若要强行中止程序的运行,可用ctrl+c。n return:结束所在函数的执行(zhxng),把控制权转至主调函数或指令窗。否则,只有待整个被调函数执行(zhxng)完后,才会转出。n keyboard:将控制权交给键盘,用于程序的调试及在程序运行中修改(xigi)变量。第34页/共46页第三十五页,共47页。第35页/共46页第三十六页,共47页。n 调试手段有:设置(shzh)断点、跟踪和观察变量第36页/共46页第三十七页,共47页

13、。即从当前位置运行到调用函即从当前位置运行到调用函数语句的下一条语句数语句的下一条语句第37页/共46页第三十八页,共47页。第38页/共46页第三十九页,共47页。n 设置断点:选中要设置的语句,用快捷键F12或用工具条上的大红(dhng)点或点击菜单set breakpoint注:断点设置后,在窗口左边框上的大红圆点注:断点设置后,在窗口左边框上的大红圆点表示表示(biosh),非常醒目。,非常醒目。第39页/共46页第四十页,共47页。n退出调试(dio sh)工具:选中菜单exit debug moden清除断点:与设置方法相同。第40页/共46页第四十一页,共47页。第41页/共46

14、页第四十二页,共47页。n 避免使用循环(xnhun)(向量化编程)n 要尽可能地使用向量或矩阵编程,而不是像在其他语言中对向量或矩阵的元素编程。这样,不仅可以使程序较短,而且能大大提高运行速度。n要求:编程者须熟悉数组运算和MATLAB的指令n 数组的预定(ydng)义n 数组空间预配置可提高运行速度(对高阶矩阵的影响尤为明显)以及内存的利用率,否则数组多次扩维会增加内存的碎片。第42页/共46页第四十三页,共47页。例:根据例:根据(gnj)测得的一组电压、电流值计算平均电阻值。测得的一组电压、电流值计算平均电阻值。第43页/共46页第四十四页,共47页。第44页/共46页第四十五页,共47页。第45页/共46页第四十六页,共47页。NoImage内

温馨提示

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

评论

0/150

提交评论