版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Matlab实验指导书闽南理工学院PAGE8第页PAGE9第页MATLAB实验指导书郑洪庆李智敏程蔚顾波电子与电气工程系2011年7月实验SEQ实验\*CHINESENUM3一Matlab软件初步入门实验目的1、了解Matlab语言的基本功能和特点2、熟悉Matlab的基本界面3、了解Matlab的路径搜索实验仪器1、计算机2、MATLAB软件环境实验原理1Desktop操作桌面的启动启动matlab2CommandWindow操作应用,熟悉操作桌面各个窗口的功能和位置。注意事项 注意常用操作命令和快捷键以及命令窗口中的标点符号命令使用。实验内容1、熟悉MATLAB主界面,工具栏及各窗口;2、完成MATLAB的路径搜索;3、熟悉MATLAB的数据类型、表达式、函数、常用命令和快捷键。掌握指令窗的使用1题:在matlab环境下运用以下指令,以便初步了解关于常数的预定义变量。重点掌握各常数的含义。formatshorteRMAd=realmax('double') %双精度类型(默认)时最大实数RMAs=realmax('single') %单精度类型时最大实数RMAd=1.7977e+308RMAs=3.4028e+038IMA64=intmax('int64') %int64整数类型时最大正整数IMA32=intmax %int32(默认)整数类型时最大正整数IMA32=intmax('int16') %int16整数类型时最大正整数IMA64=9223372036854775807IMA32=2147483647IMA32=32767e1=eps %双精度类型时的相对精度e2=eps(2) %表达2时的绝对精度e1=2.220446049250313e-016e2=4.440892098500626e-016pians=3.141592653589793使用CommandHistory历史指令窗 历史指令窗记录着:每次开启MATLAB的时间,及开启MATLAB后在指令窗中运行过的所有指令行。该窗不但能清楚地显示指令窗中运行过的所有指令行,而且所有这些被记录的指令行都能被复制,或再运行。关于历史指令窗的功能详见表1-1。表1-1历史指令窗主要应用功能的操作方法应用功能操作方法简捷操作方法单行或多行指令的复制点亮单行或多行指令;按鼠标右键引出现场菜单;选中{Copy}菜单项,即可用复合键[Ctrl+V]把它“粘贴”到任何地方(包括指令窗)。单行指令的运行点亮单行指令;按鼠标右键引出现场菜单;选中{EvaluateSelection}菜单项,即可在指令窗中运行,并见到相应结果。鼠标左键双击单行指令。多行指令的运行点亮多行指令;按鼠标右键引出现场菜单;选中{EvaluateSelection}菜单项,即可在指令窗中运行,并见到相应结果。(详见例1.5-1)把多行指令写成M文件点亮多行指令;按鼠标右键引出现场菜单;选中{CreateM-File}菜单项,就引出书写着这些指令的M文件编辑调试器;再进行相应操作,即可得所需M文件。2题:画出衰减振荡曲线,的取值范围是t=0:pi/50:4*pi; %定义自变量t的取值数组y=exp(-t/3).*sin(3*t); %计算与自变量相应的y数组。注意:乘法符前面的小黑点。plot(t,y,'-r','LineWidth',2) %绘制曲线axis([0,4*pi,-1,1])xlabel('t'),ylabel('y')演示如何再运行给定例题中的中的全部绘图指令CurrentDirectory路径设置器和文件管理3题:搜索一个名为eps的指令,看看会得出什么结果?工作空间浏览器和变量编辑器4题:画出衰减振荡曲线,的取值范围是(配图1.3-4)。本例演示:展示数组运算的优点;展示MATLAB的可视化能力。程序如下:t=0:pi/50:4*pi; %定义自变量t的取值数组y=exp(-t/3).*sin(3*t); %计算与自变量相应的y数组。注意:乘法符前面的小黑点。plot(t,y,'-r','LineWidth',2) %绘制曲线axis([0,4*pi,-1,1])xlabel('t'),ylabel('y')然后通过“工作空间浏览器”的运作,采用图形显示内存变量t和y之间的关系图形。按照书中所给的步骤操作一下matlab的帮助系统,了解它的使用。实验思考题思考第一章书后第八题实验报告要求根据自己上机的内容,将实验内容填写在实验报告中。实验SEQ实验\*CHINESENUM3二符号计算实验目的掌握:符号微积分的计算;符号矩阵分析和代数方程(组)的符号解法;符号计算结果的可视化。了解:MATLAB符号计算基本知识,包括符号对象的创建、符号数字、符号表达式的操作。实验仪器1、计算机2、MATLAB软件环境实验原理在matlab环境中创建和衍生符号对象的规则,以及符号积分,微分,极分,微分方程和一般代数方程的解的指令。注意事项 注意常用操作命令和快捷键以及命令窗口中的标点符号命令使用。实验内容1题:运行下面程序,掌握符号类数字与数值类数字之间的差异a=pi+sqrt(5) sa=sym('pi+sqrt(5)')Ca=class(a)Csa=class(sa) vpa(sa-a)符号微积分limit(f,v,a)求极限limit(f,v,a,’right’)求右极限limit(f,v,a,’left’)求左极限dfdvn=diff(f,v,n)求fjac=jacobian(f,v)求多元向量函数f(v)的jacobian矩阵r=taylor(f,n,v,a)把f(v)在v=a处进行泰勒展开2题:利用上面的指令进行运算,求解3题:设cos(x+siny)=siny,求dy/dx(隐函数求导).4题:求f(x)=xex在x=0处展开的8阶Maclaurin级数,即忽略9阶及以上小量的泰勒级数展开。intf=int(f,v)给出f对指定变量v的不定积分intf=int(f,v,a,b)给出f对指定变量v的定积分5题:利用上面的指令进行运算,求解(1)(2)微分方程的符号解法S=dslove(‘eq1,eq2,…,eqn’,’cond1,cond2,…,condn’,’v’)S=dslove(‘eq1’,’eq2’,…,’eqn’,’cond1’,‘cond2’,…,’condn’,6题:利用上面的指令进行运算,图示微分方程y=xy'-(y')2通解和奇解的关系符号矩阵分析和代数方程解7题:求线性方程组实验思考题书后第八题七、实验报告要求根据自己上机的内容,将实验内容填写在实验报告中。实验三:数值数组及向量化运算一、实验目的:掌握:数组的创建方法;数组的标识与寻访;数组的运算;关系操作和逻辑操作。了解:“非数”NaN和“空”数组。二、实验仪器:1、计算机2、MATLAB软件环境三、实验原理在matlab环境中创建和寻访一维、二维数组及其运算,关系操作和逻辑操作;“非数”NaN和“空”数组的应用。四、注意事项数组浮点算法的特点及其运算和编程的规则。五、实验内容1一、二维数值数组的创建和寻访;2数组运算;3“非数”NaN和“空”数组;4关系操作和逻辑操作。1题:在matlab环境下分别运用符号计算及其数值数组计算进行求解。本例演示:(A)本题被积分函数的原函数没有“封闭解析表达式”,符号计算无法解题;(B)数值计算能很快地求出该定积分。2题:一维数组的常用创建方法a1=1:6 a2=0:pi/4:pi a3=1:-0.1:0 b1=linspace(0,pi,4) b2=logspace(0,3,4) c1=[2pi/2sqrt(3)3+5i] rand('twister',0) c2=rand(1,5) 3题:数组元素及子数组的各种标识和寻访格式;冒号的使用;end的作用。A=zeros(2,6) A(:)=1:12 A(2,4) A(8) A(:,[1,3]) A([1,2,5,6]') A(:,4:end) A(2,1:2:5)=[-1,-3,-5] B=A([1,2,2,2],[1,3,5]) L=A<3 A(L)=NaN 4题:非数的产生和性质(1)a=0/0,b=0*log(0),c=inf-inf(2)0*a,sin(a)(3)class(a) isnan(a) 5题:“空”数组的创建a=[]b=ones(2,0),c=zeros(2,0),d=eye(2,0)f=rand(2,3,0,4)6题:逻辑和关系操作(1)逻辑关系操作的组合A=[-2,-1,0,0,1,2,3]L1=~(A>1) L2=(A>0)&(A<2) (2)xor的作用A,B=[0,-1,1,0,1,-2,-3]C=xor(A,B)A=1:9,B=10-Ar0=(A<4) r1=(A==B) 六、实验思考题书后第2、4题七、实验报告要求将实验命令和操作答案填写与报告中。实验四数值计算一、实验目的掌握:函数极值的数值求解;常微分方程的数值解;矩阵运算和特征参数;矩阵的变换和特征值分解;线性方程的解;一般代数方程的解及多项式运算。二、实验仪器1、计算机2、MATLAB软件环境三、实验原理在matlab环境中求解数组微积分,矩阵和代数方程及其多项式的运算。四、注意事项注意求解各方程指令的使用并在英文状态下输入。五、实验内容1数值微积分2矩阵和代数方程3多项式运算和卷积1题:已知x=sin(x),求该函数在区间[0,2pi]中的近似导函数。本例演示:自变量增量的适当取值对数值导函数精度的影响。(1)增量取得过小d=pi/100;t=0:d:2*pi;x=sin(t);dt=5*eps; %x_eps=sin(t+dt);dxdt_eps=(x_eps-x)/dt; %plot(t,x,'LineWidth',5)holdonplot(t,dxdt_eps)holdofflegend('x(t)','dx/dt')xlabel('t')图1增量过小引起有效数字严重丢失后的毛刺曲线(2)增量取得适当x_d=sin(t+d);dxdt_d=(x_d-x)/d; %plot(t,x,'LineWidth',5)holdonplot(t,dxdt_d)holdofflegend('x(t)','dx/dt')xlabel('t')图2增量适当所得导函数比较光滑2题:求积分 ,其中y=0.2+sint。本例演示:trapz用于数值积分时的基本原理;sum的用法及注意事项。3题:矩阵标量特征参数计算。演示:rank,det,trace的使用;子行列式的计算。A=reshape(1:9,3,3) r=rank(A) d3=det(A) d2=det(A(1:2,1:2)) t=trace(A) 4题:行阶梯阵简化指令rref计算结果的含义(1)对4阶魔方阵进行rref分解A=magic(4) %[R,ci]=rref(A) % (2)ci的含义r_A=length(ci)(3)R的含义 aa=A(:,1:3)*R(1:3,4) %err=norm(A(:,4)-aa) %六、实验思考题书后第2题七、实验报告要求根据自己上机的内容,将实验内容填写在实验报告中。实验五数据和函数的可视化一、实验目的(1)熟练掌握MATLAB二维曲线的绘制(2)掌握图形的修饰二、实验内容1、
基本命令:plot(数据作图、函数作图),ezplot(简易作图),fplot(简易作图)(1)plot(x,y,’s’)s用来表示色彩、线型、点型例3.1用plot绘制y=sinx/x的图形x=-2*pi:pi/10:2*pi;y=sin(x)./x;%准备数据plot(x,y)%用plot作图注意x=0处的图形例3.2x=-2*pi:pi/10:2*pi;x=x+(x==0)*eps;y=sin(x)./x;%(准备数据,处理分母零点))plot(x,y)%(用plot作图):例3.3画出包罗线。t=(0:pi/100:pi);y1=sin(t);y=-sin(t);y2=sin(t).*sin(9*t);t3=pi*(0:9)/9;y3=sin(t3).*sin(9*t3);gtext(‘该点数值x’)运行结果见图3-1。图3-1图3-2(2)ezplot用作图:ezplot(‘sin(x)/x’,[-4*pi,4*pi])运行结果如图3-2(3)fplot用作图:fplot(‘sin(x)/x’,[-2*pi,2*pi])2、基本绘图控制参数:1)、曲线点型、线色允许设置值线型符号-:-.--含义实线虚线点划线双划线线色符号bgrcmykw含义蓝绿红青品红黄黑白
2)、数据点形常用设置值含义实心黑点空心圆圈叉字符十字符八线符方块符菱形符五角星符3)、坐标轴控制(axis)、分格线(grid)4)、图形标注:坐标轴名(label)、图形标题(title)、图例(legend)、图形说明(text,gtext),格式如下:title(‘s’)书写图形标题xlabel(‘s’)横坐标轴名ylabel(‘s’)纵坐标轴名legend(‘s1’,’s2’,…)绘制曲线所用线型、色彩、或数据点型图例text(x1,y1,’s’)在图面(x1,y1)坐标处书写字符注释gtext(‘s’)用鼠标选择书写字符注释的位置5)、常用坐标控制命令指令含义指令含义axisoff取消轴背景axisequal纵、横轴采用等长刻度axison使用轴背景axisimage同上且坐标框紧贴数据范围人工设定标范围.设定值:三维,6个axissquare产生正方形坐标系6)、多次叠绘、子图holdon使当前轴及图形保持而不被刷新,准备接受此后将绘制的新曲线。holdoff使当前轴及图形不再具备不被刷的性质。hold是否具备不被刷的性质的双向开关。subplot(m,n,k)图形窗中有m×n幅子图,k是子图的编号。三、三维曲线绘图1、
基本命令:plot3(x,y,z,’s’)%s为线色、线形、点形plot3(x1,y1,z1,’s1’,….xn,yn,zn,’sn’)例3.5t=-2*pi:0.01:2*pi;x=2*cos(t);y=2*sin(t),z=3*t;%(准备数据)plot3(x,y,z,’r:’)%(用plot3作图)2、
三维曲面作图1)、三维网格命令(mesh)例3.6x=-1:0.05:1;y=x;[x,y]=meshgrid(x,y);z=x.^2+2*y.^2;mesh(x,y,z)运行结果如图3-4。图3-32)、三维表面命令surf例3.7x=-1:0.05:1;y=x;[x,y]=meshgrid(x,y);z=x.^2+2*y.^2;surf(x,y,z)运行结果如图3-5。图3-43)、基本三维命令的几个改进命令meshc(带等高线的网线图)surfc(带等高线的曲面图)4)、三维视图的可视效果控制view,rotate3d,rotate5)、图形的透视(hidden)图形颜色的遮掩shading。hiddenon使图形消隐(透视)。hiddenoff关闭消隐(此为默认状态)。shading用于曲面颜色不匀时的均衡处理,使用格式为。shadinginterp对网眼内采用匀色处理,使色彩自然连贯。shadingfaceted对网眼颜色不做特殊处理,但加深网线黑色,这种格式有较强的表现力,是默认格式。四、球面(sphere)及柱面(cylinder)的表达1、
sphere(n)绘制分格线条数为n的单位球面。例3.8sphere(50)%绘制分格线条数为50的单位球面,运行结果如图3-6。图3-52、
cylinder(r,n)绘制半径为r分格线条数为n的旋转柱面(曲面),纵坐标为0到1。R为母线的描述。例3.9cylinder(5,30),运行结果如图3-7。3、
[x,y,z]=sphere(n),[x,y,z]=cylinder(r,n),分别为读取球面及柱面的数据。图3-6五、特殊图形:直方图hist、饼图pie、条形图bar、矢量图feather、等高线contour。六、实验步骤(1)plot指令的使用在commmand窗口键入以下指令:X=1:10Y=[12345678]Z=1:-1:-10Plot(x)Plot(y)Plot(x,z)观察指令窗及图形窗中的结果。(2)subplot指令的使用;采样点数对绘图的影响的理解;title、axis指令的使用键入所以下指令:t1=(0:11)/11*pi;y1=sin(t1).*sin(9*t1);t2=(0:100)/100*pi;y2=sin(t2).*sin(9*t2);subplot(2,2,1),plot(t1,y1,'r.'),axis([0,pi,-1,1]),title('子图(1)')subplot(2,2,2),plot(t2,y2,'r.'),axis([0,pi,-1,1]),title('子图(2)')subplot(2,2,3),plot(t1,y1,t1,y1,'r.')axis([0,pi,-1,1]),title('子图(3)')subplot(2,2,4),plot(t2,y2)axis([0,pi,-1,1]),title('子图(4)')观察指令窗及图形窗中的结果。(3)图形交互指令的使用eq\o\ac(○,1)、在(2)的四个子图上用ginput指令分别获取其峰值;eq\o\ac(○,2)、在(2)的四个子图中的子图1上用gtext指令将“不太完整的离散图形”字符串放置到图形上。在子图2上用gtext指令将“完整的离散图形”字符串放置到图形上。在子图3上用gtext指令将“失真的连续图形”字符串放置到图形上。在子图4上用gtext指令将“正确的连续图形”字符串放置到图形上。(4)其它绘图指令的使用及精细指令的使用键入所以下指令:clf;t=6*pi*(0:100)/100;y=1-exp(-0.3*t).*cos(0.7*t);tt=t(find(abs(y-1)>0.05));ts=max(tt);plot(t,y,'r-','linewidth',3)axis([-inf,6*pi,0.6,inf])set(gca,'xtick',[2*pi,4*pi,6*pi],'ytick',[0.95,1,1.05,max(y)])gridontitle('\ity=1-e^{-\alphat}cos{\omegat}')text(13.5,1.2,'\fontsize{12}{\alpha}=0.3')text(13.5,1.1,'\fontsize{12}{\omega}=0.7')holdon;plot(ts,0.95,'bo','markersize',10);holdoffcell_string{1}='\fontsize{12}\uparrow';cell_string{2}='\fontsize{16}\fontname{隶书}镇定时间';cell_string{3}='\fontsize{6}';cell_string{4}=['\fontsize{14}\rmt_{s}=num2str(ts)'];text(ts,0.85,cell_string)xlabel('\fontsize{14}\bft\rightarrow')ylabel('\fontsize{14}\bfy\rightarrow')观察指令窗及图形窗中的结果。(5)提高部分本实验要求事先编写好解决下面问题的程序,然后上机输入程序并调试运行程序。1、绘制曲线sa(t)=sin(x)/x,其中(注意:x=0处需要特别处理)2、画出的曲线(t的取值范围是0到2),在x轴上标上0.5,1.2,和4.5三个刻度。在y轴上标0.2,1.0,3.5三个刻度。用xlabel在横轴下标上t;用ylabel在y轴左侧标y在图上用“小红圈”标出第一次使y=0.6的那点位置,并要求在该点旁边用12号字,斜体标出其横坐标。七、实验要求:1、进一步熟悉和掌握MATLAB的编程及调试。2、掌握二维图形的绘制。3、掌握图形交互指令的使用。实验六M文件及MATLAB程序设计与调试一、实验目的1.掌握M脚本文件和M函数文件的编写;2.掌握程序流程控制结构,能够进行简单程序设计;3.掌握程序调试的方法。二、实验内容与步骤1、分别编写求取平均值与标准差的脚本文件和函数文件;关于M脚本文件和M函数文件MATLAB的M文件有两类:脚本文件和函数文件。(1)脚本文件——将原本要在MATLAB的指令窗口中直接输入的语句,放在一个以.m为后缀的文件中,这一文件就称为脚本文件。有了脚本文件,可直接在MATLAB中输入脚本文件名(不含后缀),这时MATLAB会打开这一脚本文件,并依次执行脚本文件中的每一条语句,这与在MATLAB中直接输入语句的结果完全一致。(2)函数文件——它的第一行必须是函数定义行。M函数文件由5部分构成:◆函数定义行◆H1行◆函数帮助文本◆函数体◆注释functiony=mean(x)%
MEANAverageormeanvalue.%
Forvectors,MEAN(X)isthemeanvalueoftheelementsinX.%
Formatrices,MEAN(X)isarowvectorcontainingthemean%
valueofeachcolumn.%[m,n]=size(x);ifm==1%Determinewhetherxisavectorm=n;endy=sum(x)/m;①函数定义行:functiony=mean(x)function为函数定义的关键字,mean为函数名,y为输出变量,x为输入变量当函数具有多个输出变量时,则以方括号括起;当函数具有多个输入变量时,则直接用圆括号括起。例如:function[x,y,z]=sphere(theta,phi,rho)当函数不含输出变量时,则直接略去输出部分或采用空方括号表示例如:functionprintresults(x)或function[]=printresults(x)所有在函数中使用和生成的变量都为局部变量(除非利用global语句定义),这些变量值只能通过输入和输出变量进行传递。因此,在调用函数时应通过输入变量将参数传递给函数;函数调用返回时也应通过输出变量将运算结果传递给函数调用者;其它在函数中产生的变量在返回时被全部清除。②H1行:描述了函数的“功能”信息(很重要!)注意:在函数文件中,除了函数定义行之外,其它部分都是可以省略的。但作为一个函数,为了提高函数的可用性,应加上H1行和函数帮助文本,为了提高函数的可读性,应加上适当注释。函数文件中第二行一般是注释行,这一行称为H1行,实际上它是帮助文本中的第一行。H1行不仅可以由helpfuntion-name命令显示,而且,lookfor命令只在H1行内搜索,③函数帮助文本:用来比较详细地说明这一函数的用法以%开头,输入时helpfuntion-name命令,可显示出H1行和函数帮助文本④函数体:完成指定功能的语句实体可采用任何可用的MATLAB命令,包括MATLAB提供的函数和用户自己设计的M函数。⑤注释★备注:●函数定义名和保存文件名必须一致。两者不一致时,MATLAB将忽视文件首行的函数定义名,而以保存文件名为准;●函数文件的名字必须以字母开头,后面可以是字母、下划线以及数字的任意组合,但不得超过63个字符;●建议在编写H1行时,采用英文表达。这样处理是为了以后关键词检索方便。(3)脚本文件和函数文件比较
脚本文件函数文件定义行无需定义行必须有定义行输入/输出变量无有数据传送直接访问基本工作空间中的所有变量通过输入变量获得输入数据;通过输出变量提交结果编程方法直接选取MATLAB中执行的语句精心设计完成指定功能用途重复操作MATLAB功能扩展函数文件去掉其第一行的定义行,就转变成了脚本文件。但这样一来使用的局部变量就成了基本工作空间中的变量,这会带来几个问题:◆基本工作空间中与脚本文件中同名的变量会引起冲突◆使基本工作空间中变量数急剧增加,造成内存紧张◆编程时要细心考虑各个脚本文件所用到的变量这些问题在函数文件中不复存在,MATLAB通过实参与形参一一对应的方式来实现函数的调用,这极大地方便了程序设计。举例说明:分别编写出求取平均值与标准差的脚本文件state1.m和函数文件state2.mstate1.m
%脚本文件%求阵列x的平均值和标准差[m,n]=size(x);ifm==1m=n;ends1=sum(x);s2=sum(x.^2);mean1=s1/m;stdev=sqrt(s2/m-mean1.^2);state2.mfunction[mean1,stdev]=state2(x)%函数文件%求阵列x的平均值和标准差[m,n]=size(x);ifm==1m=n;ends1=sum(x);s2=sum(x.^2);mean1=s1/m;stdev=sqrt(s2/m-mean1.^2);在命令窗口依次输入如下命令:clearx=rand(1,100)+2;state1
%执行stat1.m后,观察基本空间中的变量情况whos
%可见:脚本文件所产生的所有变量都返回了工作空间★备注:1)运行脚本文件,产生的所有变量都驻留在MATLAB基本工作空间(Baseworkspace),只要不使用clear且不关闭指令窗口,这些变量将一直保存着。(基本工作空间随MATLAB的启动而产生,只有关闭MATLAB时,该基本空间才被删除。)2)运行函数文件,MATLAB就会专门开辟一个临时工作空间,称为函数工作空间(Functionworkspace),所有中间变量都存放在函数工作空间中,当执行完最后一条指令或遇到return时,就结束该函数文件的运行,同时该临时函数工作空间及其所有中间变量就立即被清除。(函数工作空间随具体M函数文件的被调用而产生,随调用结束而删除。函数工作空间是相对基本工作空间对立的、临时的。在MATLAB这个运行期间,可以产生任意多个临时函数工作空间,而基本工作空间。)3)如果在函数文件中,调用了某脚本文件,那么该脚本文件运行所产生的所有变量都放在该函数工作空间中,而不是放在基本工作空间中。2、分支结构(a)if-else-end分支结构语法形式:ifexpression1(commands1)elseifexpression2(commands2)……elsecommandsk)ifexpression(commands)end(b)switch-case结构语法形式:switchvarcasetest1(commands1)casetest2(commands2)……casetestk(commandsk)otherwise(commands)(c)显示学生成绩等级的程序:var1=input('var1=');
%让用户通过键盘输入数值、字符串或表达式switchvar1case{-2,-1}disp('var1isnegativeoneortwo.')case0disp('var1iszero.')case{1,2,3}disp('var1ispositiveone,two,orthree.')otherwisedisp('var1isothervalue.')end
3、循环语句(a)for循环结构:完成指定次重复的循环语法形式:forx=array
%
x——循环变量,依次取数组array的各列(commands)
%
commands——循环体,重复执行的次数是确定的,end
(b)while循环结构:完成不定次重复的循环语法形式:whileexpression(commands)end(c)使用for循环来寻求Fibonacci数组中第一个大于10000的元素:n=100;a=ones(1,n);fori=3:na(i)=a(i-1)+a(i-2);ifa(i)>=10000a(i)break;%跳出所在的一级循环。end;end;i4、MATLAB程序调试MATLAB的调试器(Debugger)可帮助找出编程中的错误,使用调试器可在执行中随时显示出工作空间的内容,查看函数调用的栈关系,并且可单步执行M函数代码。MATLAB程序调试主要用来纠正两类错误:◆格式错误:比如函数名的格式错误、缺括号等,MATLAB可在运行程序时检测出大多数格式错误,并显示出出错信息和出错位置。这类错误可很容易找到,并加以纠正。◆运行错误:这些错误通常发生在算法和设计错误上,例如修改了错误的变量,计算不正确等。运行错误一般不易找出位置,因此要利用调试器工具来诊断。实验七、Simulink交互式仿真集成环境实验目的熟悉Simulink的模型窗口。掌握Simulink模型的创建。掌握连续系统和离散系统的模型分析。了解子系统和封装。实验内容打开Simulink模块库浏览器两种方法:在command窗口运行指令Simulink或点击图形窗中的图标。表4-1系统模型建立命令如下:命命令功能new_system建立一个新的Simulink系统模型open_system打开一个已存在的Simulink系统模型close_system,bdclose关闭一个Simulink系统模型save_system保存一个Simulink系统模型find_system查找Simulink系统模型、模块、连线及注释add_block在系统模型中加入指定模块delete_block从系统模型中删除指定模块replace_block替代系统模型中的指定模块add_line在系统模型中加入指定连线在库浏览器的预览窗口查看并熟悉各种子库。打开一个空白模型窗口。两种方法:在filed菜单下选择指令new或点击工具栏中的快捷图标。建立一个只有信源和信宿的模型。熟悉模型窗的操作:eq\o\ac(○,1)模块的操作:打开source子库,选定一个constant信源,拖动到新建的模型窗中;打开continous子库,选定一个integrator模块,拖动到新建的模型窗中;打开continous子库,选定一个transferfcn模块,拖动到新建的模型窗中;打开sinks子库,选定一个scope信宿,拖动到新建的模型窗中。练习模型快的选定、复制、移动、删除、旋转及修改模块名等操作。eq\o\ac(○,2)信号线的操作:产生水平或垂直的连线、分支线、信号线的折曲。eq\o\ac(○,3)模块的设置:将constant信源设置为5;将transferfcn模块设置为2/(s+1)(s+2)。eq\o\ac(○,4)仿真操作:将constant、integrator、transferfcn、scope组成一个新的模型并将其存盘;双击示波器图标,打开示波窗,选择模型窗中的菜单[simulation:start],观察仿真图形。调用MATLAB工作空间中的信号矩阵作为模型输入。要求输入为:构造如教材例8.3-1图的仿真模型。三、实验要求1、熟练模型窗的各种操作。2、会快速、准确创建Simulink模型。3、会创建子系统,会进行子系统的封装。实验八、图形用户界面(GUI)制作一、 实验目的1、 熟悉句柄图形体系的对象树结构。2、 熟练掌握句柄图形体系的对象属性的创建、设置、查询。3、 熟练掌握句柄的获取。4、 熟练掌握图形用户界面(GUI)的制作。二、 实验内容1、 句柄的获取。[Gcfgcagcofindobj图形创建指令追溯法等方法获取图形句柄的联系。常用的图形句柄操作函数如下表]在command窗口键入以下指令:>>X=linspace(-pi,pi,25);>>Y=sin(X);>>plot(X,Y,'rX');>>gcf>>gca观察指令窗及图形窗中的结果。2、 句柄图形体系的对象属性的创建、设置、查询。在command窗口键入以下指令:>>h_line=findobj(gca,'Marker','X')>>get(h_line)>>h_line_parent=get(h_line,'Parent');>>isequal(h_line_parent,gca)>>set(gca,'Color',[0,0,0])>>set(h_line,'Color',[111],'MarkerSize',10);>>set(gca,'XGrid','on','GridLineStyle','-.','XColor',[0.750.750])>>set(gca,'YGrid','on','GridLineStyle','-.','YColor',[00.750.75])>>set(gcf,'Color',[001])观察指令窗及图形窗中的结果。3、 对象属性的缺省设置和查询键入以下程序:t=(0:pi/50:2*pi)';k=0.4:0.1:1;Y=cos(t)*k;line(t,Y,'Color',[100],'LineStyle','-.')clfresetset(gca,'ColorOrder',[000;0.70.70.7],'LineStyle','-|:')line(t,Y)clfresetset(gcf,'DefaultAxesLineStyleOrder','-|:');set(gcf,'DefaultAxesColorOrder',[100;001]);line(t,Y)观察指令窗及图形窗中的结果。4、 界面菜单、快捷菜单、现场菜单的制作:figure、set、uimenu的使用○1在command窗口键入以下指令:>>h_fig=figure观察图形窗中的结果。○2在command窗口键入以下指令:Set(h_fig,'menubar','none')观察图形窗中的结果。○3在command窗口键入以下指令:Set(gcf,'menubar','figure')观察图形窗中的结果。○4自制用户菜单键入以下程序:figureh_menu=uimenu(gcf,'label','&Color');h_submenu1=uimenu(h_menu,'label','&Blue',...'callback','set(gcf,''color'',''blue'')');h_submenu2=uimenu(h_menu,'label','&Red',...'callback','set(gcf,''color'',''red'')',...'Accelerator','r');观察指令窗及图形窗中的结果。还可将其中的句柄改变为别的图形对象的句柄,或将其中的一些属性的属性值修改后看其效果。○5现场菜单的制作键入以下程序:t=(-3*pi:pi/50:3*pi)+eps;y=sin(t)./t;hline=plot(t,y);cm=uicontextmenu;uimenu(cm,'label','Red','callback','set(hline,''color'',''r''),')uimenu(c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 通信行业网络管理部经理面试要点
- XX区实验初级中学2026年春季学期初三中考考前毕业典礼筹备方案
- 公司作息与考勤制度
- 卫生院考勤制度范本
- 福建省福州市福清市2025-2026学年八年级上学期期末地理试题(无答案)
- 小宋学校学生考勤制度
- 局机关学法考勤制度
- 巡察报告考勤制度
- 工作队考勤制度
- 工地夜班考勤制度
- 2026年山东经贸职业学院单招综合素质考试备考题库附答案详解
- 2025云南富民县国有企业高级经营管理人员选聘2人笔试历年参考题库附带答案详解
- 房租地皮协议书
- 2025-2030中国专业短信行业市场发展趋势与前景展望战略研究报告
- 采购助理岗位考试题及解析
- 安徽2021-2025真题及答案
- TCEC电力5G轻量化模组通信连接技术要求-2024
- 玻璃加工厂安全生产管理制度
- 2025年福建地生会考试卷及答案
- 6.1.2 有性生殖(教学设计)生物新教材人教版八年级下册
- GB/T 46584-2025精细陶瓷界面恒定振幅下室温拉伸和剪切疲劳性能试验方法十字交叉法
评论
0/150
提交评论