- 1、本文档共68页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.1 M文件 3.2 数据的输入输出 3.3 选择结构 3.4 循环结构 3.5 函数文件 3.6 主函数与子函数 3.7 匿名函数 3.8 嵌套函数 3.9 全局变量和局部变量 例3.1 计算半径为r=10圆的面积与周长,然后运行该命令文件。 首先建立命令文件并以文件名cmz.m存盘: clear; r=10; A=‘pi*r*r’; B=‘2*pi*r’; area=eval(A) cl=eval(B) 然后在MATLAB的命令窗口中输入cmz,将会执行该命令文件。 例3.2 计算半径为r=10圆的面积与周长,然后在命令窗口调用该函数文件。 首先建立函数文件fcmz.m: function [a,l]=fcmz(r) a=pi*r.*r; l=2*pi*r; 然后在MATLAB的命令窗口调用该函数文件: clear; r=1:10; [A,R]=fcmz(r) 3.2 数据的输入输出 a=input(a=?); b=input(b=?); c=input(c=?); d=b*b-4*a*c; x=[(-b+sqrt(d))/(2*a),... (-b-sqrt(d))/(2*a)]; fprintf(x1=%f\nx2=%f\n,x(1),x(2)) 2.双分支if语句 语句格式为: if 条件 语句组1 else 语句组2 end 当条件成立时,执行语句组1,否则执行语句组2,语句组1或语句组2执行后,再执行if语句的后继语句。 例3.7 矩阵乘法运算要求两矩阵的维数相容,否则会出错。先求两矩阵的乘积,若出错,则自动转去求两矩阵的点乘。 程序如下: 例3.9 求定积分。 程序如下: a=0;b=3*pi;n=1000; h=(b-a)/n; x=a:h:b; f=exp(-0.5*x).*sin(x+pi/6); for i=1:n s(i)= (f(i)+f(i+1))*h/2; end s=sum(s) 事实上,MATLAB提供了有关数值积分的标准函数,实际应用中可直接调用这些函数求数值积分。 对于较为简单的函数我们可以直接写出函数 其他函数文件 1,内联函数:inline 调用格式如下: f=inline(‘表达式’) f=inline(‘表达式’,’变量1’ ,’变量2’,…) 例:绘制超越函数 y= e-at sin2t-b|t|的图像 y=inline(sin(t)^2*exp(-a*t)-b*abs(t),t,a,b) y= inline function:
f(t,a,b) = exp(-a*t)*sin(t)^2-b*abs(t) 该函数就可以直接使用了,但不能进行向量运算,命令vectorize可将这类函数向量化,方法为: f=vectorize(y) f= Inline function:
f(t,a,b) = exp(-a.*t).*sin(t).^2-b.*abs(t) 这样我们可以绘制该图形了,命令为: t=-10:.01:10 plot(t,f(t,0.2,0.6)) 3.9 程序代码保护:p-code 一般的 M 档案都是文本文件,所有的 MATLAB 原始程序代码都看得到,让别人使用您的程序代码,又不想被看到程序代码的内容,使用 pcode 指令将命令文件或函数转成 p-code(即Pseudo-Code) p-code 命令为:pcode filename.m p-code的使用 例3.26:将函数 func.m 转成 p-code pcode func.m dir *.p 检查func,以p-code的程序代码为优先 which func 调用 p-code 的函数和一般函数并无不同 一函数被调用时,MATLAB 会载入并剖(Parse)此函数,剖析结果存放置在内存内下次再调用此函数,可以省下剖析所花的时间 pcode 的作用是将程序代码剖析后的结果储存,程序代码牵涉到很多 M 档案时,将程序代码转成 p-code,节省剖析的时间 p-code提高效率 func([2,4,6,7,9]) 3.10 全局变量和局部变量 全局变量用命令global定义。函数文件的内部变量是局部的,与其他函数文件及MATLAB工作空间相互隔离 例3.28 先建立函数文件w
文档评论(0)