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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

实验六M文件和面向对象编程Word文件下载.docx

1、 1 2 3 4 5 6 7 8 9 10 7.3.2 while循环结构【例7.3.2-1】Fibonacci数组的元素满足Fibonacci 规则: ,;且。现要求该数组中第一个大于10000的元素。a(1)=1;a(2)=1;i=2;while a(i)8 sums=number*0.95*cost;end,sums sums = 114.0000 【例7.3.3-2】用for循环指令来寻求Fibonacc数组中第一个大于10000的元素。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;en

2、d,i 10946 21 7.3.4 switch-case结构【例7.3.4-1】学生的成绩管理,用来演示switch结构的应用。clear;%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 switch S(i).Marks case 100 S(i).Rank=满分; case a 优秀 case b 良好 case c 及格 otherwis

3、e 不及格disp(学生姓名 得分 等级);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 满分 7.3.5 try-catch结构【例7.3.5-1】try-catch结构应用实例:对魔方阵的行进行援引,当“行下标”超出魔方阵的最大行数时,将改向对最后一行的援引,并显示“出错”警告。clear,N=4;A=magic(3);try A_N=A(N,:catch

4、A_end=A(end,:lasterr A_end = 4 9 2 Index exceeds matrix dimensions. 7.3.6 控制程序流的其它常用指令7.3.6.1 return指令7.3.6.2 input和keyboard指令7.3.6.3 yesinput指令7.3.6.4 pause指令7.3.6.5 break指令7.3.6.6 error和warning指令7.4 脚本文件和函数文件7.4.1 M脚本文件7.4.2 M函数文件7.4.3 局部变量和全局变量7.4.4 M文件的一般结构【例7.4.4-1】M函数文件示例。本例演示:(A)编写一个画任意半径任意色彩

5、线型的圆。(B)完整函数文件的基本结构。(C)函数文件各基本组成部分的作用。exm07044_1.mfunction sa = exm07044_1(r,s)%CIRCLE % if nargin2 error(输入宗量太多。);if nargin=1 s=bt=0:pi/100:2*pi;x=r*exp(i*t);if nargout=0 plot(x,s);else sa=pi*r*r; fill(real(x),imag(x),s)axis(square7.4.5 P码文件7.4.5.1 语法分析过程和伪代码7.4.5.2 P码文件的预生成7.4.5.3 内存中P码文件的列表和清除7.4

6、.6 MATLAB的搜索过程7.5 变量的检测传递和限权使用函数7.5.1 输入输出宗量检测指令7.5.2 “变长度”输入输出宗量【例7.5.2-1】变长度宗量使用示例。(1) exm07052_1.mfunction varargout = exm07052_1(r,varargin)%RINGZY Plot a ring and calculate the area of the ring.vin=length(varargin);Nin=vin+1; % error(nargchk(1,Nin,nargin) %if nargout6 %Too many output arguments

7、pi/20:s=pi*r*r; switch Nin case 1 plot(x, case 2 r2=varargin1; % x2=r2*exp(i*t);hold on ;plot(x2,hold off otherwise 26 plot(x,varargin2:end);hold on % plot(x2,varargin2:hold off % axis( varargout1=real(x);varargout2=imag(x); % varargout5=pi*r*r;varargout6=; % if Nin36 varargout3=real(x2);varargout4=

8、imag(x2); % varargout6=pi*(r2-r22); %end r1=1;r2=3;x1,y1,x2,y2,s1,s2=exm07052_1(r1);x1,y1,x2,y2=exm07052_1(r1,r2);x1,y1,x2,y2,s1,s2=exm07052_1(r1,r2);(3)r2=0.6;subplot(1,3,1),exm07052_1(r1,r2),subplot(1,3,2),exm07052_1(r1,r2,Markero) subplot(1,3,3),exm07052_1(r1,r2,LineWidth,5,Color,1 0.4 0) 图 7.5-1

9、 7.5.3 跨空间变量传递7.5.3.1 跨空间计算串表达式的值【例7.5.3.1-1】本例演示:(A)编写绘制正多边形或圆的程序。(B)子函数与(母)函数的关系。(C)各种不同的工作空间。(D)evalin运行机理与eval的异同。exm070531_1.mfunction y1=exm070531_1(a,s)t=(0:a)/a*2*pi;y1=subevalinzzy(4,s);%- subfunction -function y2=subevalinzzy(a,s)ss=a*exp(i*t)switch scase basecaller y2=evalin(s,ss);case se

10、lf y2=eval(ss);clear,a=30;sss=for k=1:3 y0=exm070531_1(8,sssk); subplot(1,3,k) plot(real(y0),imag(y0),r,3),axis square imageend 图 7.5-2 7.5.3.2 跨空间赋值【例7.5.3.2-1】assignin运作机理示范。exm070532_1.mfunction y=exm070532_1(x)y=sqrt(x);t=x2;assignin(yy,t)x=4;y=exm070532_1(x);disp(blanks(5),x,blanks(5),y,blanks(

11、4),),disp(x,y,yy) x y yy 4 2 16 7.5.4 子函数和私用函数7.5.4.1 子函数7.5.4.2 私用函数7.6 串演算函数7.6.1 eval【例7.6.1-1】计算“表达式”串,产生向量值。clear,t=pi;cem=t/2,t*2,sin(t)y=eval(cem) y =1.5708 6.2832 0.0000【例7.6.1-2】计算“语句”串,创建变量。eval(theta=t/2,y=sin(theta)who theta = 1.5708 1Your variables are:t theta y 【例7.6.1-3】计算“替代”串。A=ones

12、(2,1);B=ones(1,3);c=eval(B*AA*B),errmessage=lasterr c = 1 1 1errmessage =Error using = *Inner matrix dimensions must agree. 【例7.6.1-4】计算“合成”串。CEM=cossintan theta=pi*k/12; y(1,k)=eval(CEM1,(,num2str(theta),)y 0.9659 0.8660 0.7071 7.6.2 feval【例7.6.2-1】feval 和eval 运行区别之一:feval的FN绝对不能是表达式。x=pi/4;Ve=eval

13、(1+sin(x) Ve = 1.7071 Vf=feval(,x) ? Error using = fevalInvalid function name . 【例7.6.2-2】feval 和eval 调用区别:feval 的FN只接受函数名。本例两种方法以后者为好。randn(seed,1);A=rand(2,2);ue,de,ve=eval(svd(A)Results by evaldisp(ue,de,ve);disp(blanks(1)uf,df,vf=feval(svd,A);Results by fevaldisp(uf,df,vf) Results by eval -0.919

14、3 -0.3936 1.2212 0 -0.7897 -0.6135 -0.3936 0.9193 0 0.2633 -0.6135 0.7897Results by feval -0.3936 0.9193 0 0.2633 -0.6135 0.7897 7.6.3 内联函数7.6.3.1 内联函数的创建7.6.3.2 涉及内联函数性质的指令7.6.3.3 内联函数创建和应用示例【例7.6.3.3-1】演示:内联函数的第一种创建格式;使内联函数适于“数组运算”。clear,F1=inline(sin(rho)/rhoF1 = Inline function: F1(rho) = sin(rh

15、o)/rho f1=F1(2) f1 = 0.4546 FF1=vectorize(F1)xx=0.5,1,1.5,2;ff1=FF1(xx) FF1 = FF1(rho) = sin(rho)./rhoff1 = 0.9589 0.8415 0.6650 0.4546 【例7.6.3.3-2】演示:第一种内联函数创建格式的缺陷;含向量的多宗量输入的赋值。G1=inline(a*exp(x(1)*cos(x(2),G1(2,-1,pi/3) G1 = G1(a) = a*exp(x(1)*cos(x(2) inline/subsrefToo many inputs to inline func

16、tion. G2=inline(a),G2(2,-1,pi/3) G2 = G2(a,x) = a*exp(x(1)*cos(x(2) 0.3679 【例7.6.3.3-3】演示:产生向量输入、向量输出的内联函数;这种向量函数的调用方法。Y2=inline(x(1)2;3*x(1)*sin(x(2)argnames(Y2) Y2 = Y2(x) = x(1)2;3*x(1)*sin(x(2)ans = x=4,pi/6;y2=Y2(x) y2 = 16.0000 6.0000 【例7.6.3.3-4】演示:最简练格式创建内联函数;内联函数可被feval 指令调用。Z2=inline(P1*x*

17、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 7.7 函数句柄7.7.1 函数句柄的创建和观察【例7.7.1-1】为MATLAB的“内建”函数创建函数句柄,并观察其内涵。hsin=sin;class(hsin)size(hsin) function_handle 1 1 CC=functions(hsin) CC = function: type:overloaded file:MATLAB built-in function me

18、thods: 1x1 struct (4)CC.methods.sym d:matlab6p5toolboxsymbolicsymsin 7.7.2 函数句柄的基本用法【例7.7.2-1】本例通过函数及其句柄演示若干基本用法。fhandle=str2func(ys=sin(pi/4)yfold=feval(,pi/4)yfnew=feval(fhandle,pi/4) ys = 0.7071yfold =yfnew =0.7071 Alpha=sym(pi/4yss=sin(Alpha),Alpha)ynews=feval(,Alpha) yss =1/2*2(1/2)ynews =1/2*2

19、(1/2) xold=fminbnd(,0,2*pi)xnew=fminbnd(fhandle,0,2*pi) xold = 4.7124xnew = 4.7124 【例7.7.2-2】本例演示:如何避免创建“无效函数句柄“问题。Hy2=fhzzy %fhzzy.m是随书光盘mfiles文件夹上的一个函数文件。Hy2 = fhzzy class(Hy2)size(Hy2) feval(Hy2,lineUndefined function fhzzy【例7.7.2-3】自建函数及其句柄的使用。fhzzy.mfunction Hr=fhzzy(flag )% fhzzy 100)/100*2*pi

20、;x=sin(t);y=cos(t);Hr=cirline;feval(Hr,flag,x,y,t)% -subfunction-function cirline(wd,x,y,t)switch wd plot(t,x, ,t,y,2)circle plot(x,y,g.MarkerSize,30), axis square offotherwise输入宗量只能取 或 !shgHy3=fhzzyfhzzy(Hy3 = fhzzy图7.7-1 which(fhzzy not found. feval( Undefined function or variable (5)feval(Hy3,【例7.7.2-4】子函数句柄的创建与使用。HCL=fhzzy(HCL = cirline图7.7-2tt=(0:xx=sin(tt);yy=cos(tt);cirline(,xx,yy,tt);,xx,yy,tt) cirlinefeval(HCL,7.8 创建用户工具箱7.8.1 MATLAB对工具箱文件的管理特点7.8.2 建立用户工具箱须知7.9 调试和剖析7.9.1

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

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