ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:35.50KB ,
资源ID:17272184      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17272184.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(n6ch07Word文档下载推荐.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

n6ch07Word文档下载推荐.docx

1、n=100;a=ones(1,n);for i=3:n a(i)=a(i-1)+a(i-2); if a(i) a(i), break; end;end,i 10946 21 .2.4 switch-case结构【例7.2-5】学生的成绩管理,用来演示switch结构的应用。clear;for i=1:ai=89+i;bi=79+i;ci=69+i;di=59+i;c=d,c;Name= Jack,MarryPeter Rose Tom;Mark=72,83,56,94,100;Rank=cell(1,5);S=struct(Name,Name,Marks,Mark,Rank,Rank);5

2、switch S(i).Marks case 100 S(i).Rank=满分; case a 优秀 case b 良好 case c 及格 otherwise 不及格 endenddisp(学生姓名 得分 等级);disp( )5; disp(S(i).Name,blanks(6),num2str(S(i).Marks),blanks(6),S(i).Rank); 学生姓名 得分 等级 Jack 72 及格Marry 83 良好Peter 56 不及格 Rose 94 优秀 Tom 100 满分 .2.5 try-catch结构【例7.2-6】try-catch结构应用实例。clear,N=

3、4;A=magic(3);try A_N=A(N,:), catch A_end=A(end,:), lasterr A_end = 4 9 2 Index exceeds matrix dimensions. .2.6 控制程序流的其它常用指令.3 脚本文件和函数文件.3.1 M脚本文件.3.2 M函数文件.3.3 局部变量和全局变量.3.4 M文件的一般结构【例7.3-1】M函数文件示例。circle.mfunction sa = circle(r,s)%CIRCLE plot a circle of radii r in the line specified by s.% r 指定半径的

4、数值% s 指定线色的字符串% sa 圆面积% circle(r) 利用蓝实线画半径为 r 的圆周线.% circle(r,s) 利用串 s 指定的线色画半径为 r 的圆周线.% sa=circle(r) 计算圆面积,并画半径为 r 的蓝色圆面.% sa=circle(r,s) 计算圆面积,并画半径为 r 的 s 色圆面.% 编写于1999年4月7日,修改于1999年8月27日。if nargin2 error(输入宗量太多。);if nargin=1 s=bclf;t=0:pi/100:2*pi;x=r*exp(i*t);if nargout=0 plot(x,s);else sa=pi*r

5、*r; fill(real(x),imag(x),s)axis(square.3.5 P码文件10 一 语法分析过程和伪代码10 二 P码文件的预生成10 三 内存中P码文件的列表和清除.3.6 MATLAB的搜索过程.4 变量的检测传递和限权使用函数.4.1 输入输出宗量检测指令.4.2 跨空间变量传递10 一 跨空间计算串表达式的值【例7.4-1】evalin运行机理与eval的异同。(1)编写M函数文件evalinzzy.mfunction y1=evalinzzy(a,s)t=(0:a)/a*2*pi;y1=subevalinzzy(4,s);%- subfunction -funct

6、ion y2=subevalinzzy(a,s)ss=a*exp(i*t)switch scase basecaller y2=evalin(s,ss);case self y2=eval(ss);(2)在Notebook或MATLAB指令窗中运行以下指令clear,a=30;sss=for k=1:3 y0=evalinzzy(8,sssk); subplot(1,3,k) plot(real(y0),imag(y0),rLineWidth,3),axis square imageend 图 7.4-1 利用不同工作空间中的变量值计算eval(10 二 跨空间赋值【例7.4-2】assign

7、in运作机理示范。assigninxyq.mfunction y=assigninxyq(x)y=sqrt(x);t=x2;assignin(yy,t)(2)在Notebbok 或MATLAB指令窗中运行以下指令x=4;y=assigninxyq(x);disp(blanks(5),x,blanks(5),y,blanks(4),),disp(x,y,yy) x y yy 4 2 16 .4.3 子函数和私用函数10 一 子函数10 二 私用函数.5 串演算函数.5.1 eval【例7.5-1】计算“语句”串,创建变量。clear,t=pi;eval(theta=t/2,y=sin(theta

8、)theta = 1.5708y = 1 【例7.5-2】计算“合成”串。CEM=cossintan theta=pi*k/12; y(1,k)=eval(CEMk,(,num2str(theta),)y 0.9659 0.5000 1.0000 .5.2 feval【例7.5-3】对字符串类型函数只能用eval ,而不能用feval。x=pi/4;Ve=eval(1+sin(x) Ve = 1.7071 Vf=feval(,x) ? Error using = fevalInvalid function name . 【例7.5-4】函数句柄只能被feval 运用,而不能被eval 调用。(

9、1)rand(seed,1);A=rand(2,2);Heig=eig;d=feval(Heig,A) d = 0.7568 -0.1488 (2)de=eval(Heig,A) evalFunction eval not defined for variables of class function_handle(3)dn=feval(eig, A) dn =.5.3 内联函数【例7.5-5】用内联函数对象实现G=inline(a*exp(x)*cos(y)adisp(class(G),blanks(10),char(G)argnames(G) inline a*exp(x)*cos(y)a

10、ns = GG=vectorize(G) GG = Inline function: GG(a,x,y) = a.*exp(x).*cos(y) GG(2,1,2,pi/3,pi) 2.7183 -14.7781 【例7.5-6】演示:最简练格式创建内联函数;内联函数可被feval 指令调用。Z2=inline(P1*x*sin(x2+P2),2) Z2 = Z2(x,P1,P2) = P1*x*sin(x2+P2) z2=Z2(2,2,3) fz2=feval(Z2,2,2,3) z2 = 2.6279fz2 =2.6279 .6 函数句柄.6.1 函数句柄的创建和观察【例7.6-1】为MA

11、TLAB的“内建”函数创建函数句柄,并观察其内涵。hsin=sin;class(hsin)size(hsin) function_handle 1 1 CC=functions(hsin) CC = function: type:overloaded file:MATLAB built-in function methods: 1x1 struct (4)CC.methods sym:d:matlabr12toolboxsymbolicsymsin.6.2 函数句柄的基本用法【例7.6-2】本例通过sin函数及其句柄演示若干基本用法。fhandle=str2func(ys=sin(pi/4)

12、yfold=feval(,pi/4) yfnew=feval(fhandle,pi/4) ys = 0.7071yfold =yfnew = 0.7071 Alpha=sym(pi/4 yss=sin(Alpha) ,Alpha) ynews=feval(fhandle,Alpha) yss =1/2*2(1/2)ynews =1/2*2(1/2) xold=fminbnd(,0,2*pi) xnew=fminbnd(fhandle,0,2*pi) xold = 4.7124xnew = 4.7124 【例7.6-3】自建函数及其句柄的使用。通过本例可看到:只要在当前MATLAB工作空间中存在

13、函数句柄,那末不管该函数当前是否在搜索范围内,均可通过函数句柄实现正确的运作。zzy076_3.mfunction Hr=zzy076_3(flag )% ZZY076_3 为演示函数、子函数句柄而设计的绘图文件。% flag 可以取字符串line或 circle100)/100*2*pi;x=sin(t);y=cos(t);Hr=cirline; %创建子函数的句柄 feval(Hr,flag,x,y,t)% -subfunction-function cirline(wd,x,y,t)% wd 接受字符串或% t 画线用的独立参变量% x 由t产生的横坐标变量% y 由t产生的纵坐标变量s

14、witch wd plot(t,x, ,t,y,2) plot(x,y,g.MarkerSize,30), axis square offotherwise输入宗量只能取 或 !shgHzzy076_3=zzy076_3 zzy076_3(Hzzy076_3 = zzy076_3图 7.6_1 exm076_3.m绘制的曲线which(zzy076_3) zzy076_3 not found. feval( Undefined function or variable (6)feval(Hzzy076_3,【例7.6-4】子函数句柄的创建与使用。本例仍然使用上例中的zzy076_3.m文件。通过本例可以看到:原先只能在“父函数”视野(Scope)内被调用的子函数,借助其句柄,可扩大使用范围。即,只要MATLAB工作空间中有子函数的句柄,它就能被正确调用,不管该子函数是否在当前视野内,也不管该子函数的父函数是否在搜索路径上。HCL=zzy076_3(HCL = cirline图 7.6_2 zzy076_3.m绘制的圆tt=(0:xx=sin(tt);yy=cos(tt);cirline(,xx,yy,tt);,xx,yy,tt) cirlinefeval(HCL,习题7

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

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