wbtMATLAB程序设计与使用实行指导书新_第1页
wbtMATLAB程序设计与使用实行指导书新_第2页
wbtMATLAB程序设计与使用实行指导书新_第3页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、MATLAB程序设计与应用实验教案授课人:王炳庭授课班级:电类113、电类114一、实验目的本课程是电气工程及其自动化、自动化、电力工程与管理专业本科生的学科基础选修课,它在线性代数、信号分析和处理、控制系统设计和仿真等方面有着广泛的应用。主要是学习MATLAB勺语法规则、基本命令和使用环境,使学生掌握MATLAB勺基本命令和基本程序设计方法,提高使用该语言的应用能力,具有使用MATLA语言编程和调试的能力,以便为后续多门课程使用该语言奠定必要的基础。通过上机实验,使学生掌握MATLAB在线帮助功能的使用、熟悉MATLAB运行环境和MATLAB5言的主要特点,掌握MATLAB5言的基本语法规则

2、及基本操作命令的使用,学会M文件的建立和使用方法以及应用MATLA实现二维和三维图形的绘制方法,具有使用MATLA语言编程和调试的能力。二、实验前预习每次实验前,学生须仔细阅读本实验指导书的相关内容,明确实验目的、要求;明确实验步骤、测试数据及需观察的现象;复习与实验内容有关的理论知识;预习仪器设备的使用方法、操作规程及注意事项;做好预习要求中提出的其它事项。三、实验注意事项1实验开始前,应先检查本组电脑设备是否工作正常,matlab软件工作是否正常。2实验时每位同学应独立完成实验任务,避免抄袭。3实验后应及时将实验数据进行记录与存盘,避免因电脑故障或其它原因造成实验数据的丢失。4实验中严格遵

3、循电脑操作规程,如电脑发生异常现象,应立即切断电源,报告指导教师检查处理。5测量数据或观察现象要认真细致,实事求是。6未经许可,不得对电脑进行软件及硬件的更改操作。7实验结束后,实验记录交指导教师查看并认为无误后,方可关掉电脑离开。8爱护公物,发生仪器设备等损坏事故时,应及时报告指导教师,按有关实验管理规定处理。9自觉遵守学校和实验室管理的其它有关规定。四、实验总结每次实验后,应对实验进行总结,即实验数据进行整理,绘制波形和图表,分析实验现象,撰写实验报告。实验报告除写明实验名称、日期、实验者姓名、同组实验者姓名外,还包括:1实验目的;2实验内容3实验流程图;4程序命令清单;5运行结果;6实验

4、的收获与体会;7回答每项实验的有关问答题。目录实验一matlab集成环境使用与运算基础5.实验二matlab矩阵分析与处理9.实验三选择结构程序设计1.3实验四循环结构程序设计错.误!未定义书签。实验五函数文件1.8.实验六matlab高层绘图操作2.1实验七matlab数据处理与多项式计算2.7实验八菜单与对话框设计3.0实验一matlab集成环境使用与运算基础一、实验目的1,熟悉启动和退出matlab的方法。2,熟悉matlab命令窗口的组成。3,掌握建立矩阵的方法。4,掌握matlab各种表达式的书写规则以及常用函数的使用。二、实验原理1Matlab的启动matlab系统的启动有三种常见

5、方法:1)使用Windows开始”菜单。2)运行matlab系统启动程序matlab.exe。3)利用快捷方式。2Matlab系统的退出要退出matlab系统,也有三种常见方法:1)在matlab主窗口File菜单中选择Exitmatlab命令。2)在matlab命令窗口输入Exit或Quit命令。3)单击matlab主窗口的“关闭”按钮。3Matlab帮助窗口进入帮助窗口可以通过以下三种方法:1)单击matlab主窗口工具栏中的help按钮。2)在命令窗口中输入helpwin、helpdesk或doc。3)选择help菜单中的“matlabhelp选项。4Matlab帮助命令1)help命令

6、在matlab命令窗口直接输入help命令将会显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。同样,可以通过help加函数名来显示该函数的帮助说明。2)lookfor命令help命令只搜索出那些关键字完全匹配的结果,lookfor命令对搜索范围内的m文件进行关键字搜索,条件比较宽松。3)模糊查询用户只要输入命令的前几个字母,然后按tab键,系统就会列出所有以这几个字母开头的命令。5赋值语句1)变量=表达式2)表达式6.矩阵的建立1)直接输入法:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分开,不同行的元素之间用分号分开。2)利用m文件建立

7、矩阵3)利用冒号表达式建立一个向量e1:e2:e34)禾U用linspace函数产生行向量linspace(a,b,n).三、实验仪器和设备1.计算机四、预习要求1.复习matlab启动与退出,熟悉matlab运行环境,掌握matlab帮助的使用。2复习matlab中矩阵的建立以及矩阵的加减乘除以及乘方运算的基本原理。五、实验内容及步骤先求下列表达式的值,然后显示matlab工作空间的使用情况并保存全部变量(1)Z1=2sin851e2Z仁(2*sin(85*pi/180)”(1+exp(2);结果z1=0.237512i51z2ln(x.1x2),其中x二x=2,1+2*i;-0.45,5;

8、z2=1/2*log(x+sqrt(1+xA2);结果+z2=0.3090-+-0.0019i0.3a_Q.3a(3) Z3=eesin(a0.3)In,a=3.0,2.9,_2.8,.,2.8,2.9,3.022提示:利用冒号表达式生成a向量,求各点函数值时用点乘运算。a=-3.0:0.1:3.0;z3=(exp(0.3*a)-exp(-0.3*a)/2.*sin(a+0.3)+log(0.3+a)/2)t2,0<t:1(4) Z4=t2-11Etc2,其中t=0:0.5:2.52t-2t+1,2兰tv3提示:用逻辑表达式求分段函数值。t=0:0.5:2.5;z4=(t>=0&a

9、mp;t<1).*(t.*t)+(t>=1&t<2).*(t.*t-1)+(t>=2&t<3).*(t*t-2*t+1)结果刁234Vi13-112,已知A=34787,B=203i3657一113-27求下列表达式的值:(1)A+6*B和A-B+I(其中I为单位矩阵)(2)A*B和A.*B(3)AA3和A.A3(4)A/B及BA(5)A,B和A(1,3,:);BA2a=12,34,-4;34,7,87;3,65,7;b=1,3,-1;2,0,3;3,-2,7;x1=a+6*b;x2=a-b+eye;x3=a*b;x4=a.*b;x5=aA3;x6

10、=a.A3;x7=a/b;x8=ba;x9=a,b;x10=a(1,3,:);bA2(1)求它们的乘积C;3,设有矩阵A和B-12345_f301667891017-69A=1112131415,B=023V16171819209702122232425_i'41311一(2)将矩阵C的右下角3*2子矩阵赋给D;A=12345;678910;1112131415;1617181920;2122232425;B=3016;17-69;023-4;970;41311;C=A*BF=size(C);D=C(F(1)-2:F(1),F(2)-1:F(2)结果F=53D=520397705557

11、8907174,完成下列操作:(1) 求100,999之间能被21整除的数的个数。提示:先利用冒号表达式,再利用find和length函数提示:利用find函数和空矩阵A=100:999;B=rem(A,21);C=length(find(B=0);结果C=43六、实验报告要求实验报告应包括实验目的、实验内容、流程图、程序清单、运行结果以及实验的收获与体会。实验二matlab矩阵分析与处理、实验目的1,掌握生成特殊矩阵的方法;1, 掌握矩阵分析的方法;2, 用矩阵求逆法求解线性方程组。二、实验原理通用的特殊矩阵常用的产生通用特殊矩阵的函数有:zeros:产生全0矩阵;ones产生全1矩阵eye

12、:产生单位矩阵;rand:产生01间均匀分布的随机矩阵;randn:产生均值为0,方差为1的标准正态分布的随机矩阵。1, 矩阵运算1) 矩阵加减运算:假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵的加减运算。2) 假定有两个矩阵A和B,若A为mxn矩阵,B为n>p矩阵,则C=A*B为mxp矩阵。3) 如果A矩阵是非奇异方阵,AB等效与A的逆左乘B矩阵,inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A).4) 矩阵的乘方。一个矩阵的乘方运算可以表示成AAx,要求A为方阵,x为2, 矩阵点运算在matlab中,有一种特殊的运算,因为其运算苻是在有关算术运算苻前

13、面加点,因此叫点运算。点运算苻有和a。两个矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。三、实验仪器和设备1计算机1台四、预习要求1 复习特殊矩阵的产生。2 复习矩阵的加减乘除与乘方运算,以及相应的点运算。五、实验内容及步骤设有分块矩阵A=|E33R32I,其中E、R、o、S分别为单位矩阵、随机-O2*3S2*2_矩阵、零矩阵和对角阵,试通过数值计算验证a2=|eR+qRSIPS2一E=eye(3);R=rand(3,2);O=zeros(2,3);S=diag(2,3);A=E,R;O,S;C=AA2;B=E,(R+R*S);O,SA2;E,R,O,S,A,C,B结果

14、E=100010001O=000000S:=2003A:=1.0000001.00000001.00000002.0000000003.0000C=1.0000001.00000001.00000004.0000000009.0000B:=1.0000001.00000001.00000004.0000009.00001, 建立一个5>5矩阵,求它的行列式的值、迹、秩和范数A=fix(10*rand(5);H=det(A);Trace=trace(A);Rank=rank(A);Norm=norm(A);A,H,Trace,Rank,Norm结果H=-3.2509e+004Trace=3

15、3Rank=5Norm=25.3208下面是一个线性方程组:1/21/31/41/31/4x11/41/5ix21/51/6X3一0.950.670.52(1) 求方程的解;(2) 将方程右边向量元素b3改为0.53,再求解,并比较b3的变化和解的相对变化。A=1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6;b=0.95,0.67,0.52'x1=Ab;B=0.95,0.67,0.53'x2=Ab;C=cond(A);结果x1=1.20000.6000C=1.3533e+0032, 建立A矩阵,试比较sqrtm(A)和sqrt(A),分析它们的区别。A=

16、1,4,9;16,25,36;49,64,81;B=sqrtm(A);C=sqrt(A);结果B=0.6344+1.3620i0.3688+0.7235i0.7983-0.4388i1.4489+1.1717i2.7697+0.6224i3.2141-0.3775i4.3578-1.6237i5.7110-0.8625i7.7767+0.5231iC=123456789六、实验报告要求实验报告应包括实验目的、实验内容、流程图、程序清单、运行结果以及实验的收获与体会。实验三MATLAB程序设计、实验目的1, 掌握建立和执行m文件的方法。2, 掌握利用if语句实现选择结构的方法。3,掌握利用swi

17、tch语句实现多分支选择结构的方法。4,掌握try语句的使用。二、实验原理1,m文件用matlab语言编写的程序,称为m文件。M文件根据调用方式的不同分为两类,命令文件(Scriptfile)和函数文件(Functionfile)。2,程序控制结构1)顺序结构2)选择结构(1)if语句a)单分支if语句b)双分支if语句c)多分支if语句(2)switch语句(3)try语句3)循环结构(1)for语句(2)while语句(3)break语句与continue语句(4)循环的嵌套三、实验仪器和设备1.计算机1台四、预习要求1复习matlab中流程控制语句。2复习matlab函数文件的建立与调用

18、。五、实验内容及步骤1, 输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90分100分为A,80分89分为B,7079分为C,6069分为D,60分以下为E。要求:(1)分别用if和swtich语句实现;(2)输入百分制成绩后要判断成绩的合理性,对不合理的成绩应输出出错信息。1.1>x=input('请输入一个成绩');ifx<=100&x>=90disp('成绩等级为:A');elseifx<90&x>=80disp('成绩等级为:B');elseifx<80&x>

19、=70disp('成绩等级为:C');54elseifx>=60&x<70disp('成绩等级为:D');elseifx>=0&x<60disp('不及格');elsedisp('输入的成绩不合理')end结果请输入一个成绩88成绩等级为:B请输入一个成绩55不及格请输入一个成绩100成绩等级为:A请输入一个成绩101输入的成绩不合理1.2>x=input('请输入一个成绩');switchfloor(x/10)case9,10case0,1,2,3,4,5disp(&

20、#39;成绩等级为:A');case8disp('成绩等级为:B');case7disp('成绩等级为:C');case6disp('成绩等级为:D');disp('不及格');otherwisedisp('输入的成绩不合理')end结果请输入一个成绩52不及格请输入一个成绩78成绩等级为:C请输入一个成绩90成绩等级为:ATT211112,根据=2222,求二的近似值。当n分别取100,1000,100006122232n2时,结果是多少?2.1利用循环结构forn=100,1000,10000x=1:n

21、;value=sqrt(6*sum(1./x./x);end结果value=3.1321value=3.1406value=3.14152.2利用向量运算forn=100,1000,10000sum=0;forx=1:nsum=sum+1/(x.A2);endvalue=sqrt(6*sum)end结果value=3.1415111,3,根据y=1,求352n-1(1) y<3时的最大n值;(2) 与(1)的n值对应的y值。y=0;n=1;whiley<3y=y+1/(2*n-1);n=n+1;endn=n-1;y=y-1/(2*n-1)n=n-1结果y=2.9944n=56六、实

22、验报告要求1. 完成实验内容中的计算和程序编制;2. 验证实验内容中计算和程序所得结果的正确性。实验四函数文件一、实验目的1,理解函数文件的概念;2,掌握定义和调用matlab函数的方法。二、实验原理1,函数文件的定义:函数文件是另一种形式的m文件,每一个函数文件都定义一个函数,事实上,matlab提供的标准函数大部分都是由函数文件定义的。2,函数文件的基本结构函数文件由function语句引导,其基本结构为:Function输出形参表二函数名(输入形参表)注释说明部分函数体语句其中以function开头的一行为引导行,表示该m文件是一个函数文件。3,函数调用函数文件编制好之欧,就可以调用函数

23、进行计算了,函数调用的一般格式是:输出实参表=函数名(输入实参表)三、实验仪器和设备1. 计算机1台四、预习要求1复习函数的定义与编写原则。2复习函数的调用。五、实验内容及步骤1,一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称为绝对素数。例如13是绝对素数。试求所有的两位绝对素数。要求:定义一个判断素数的函数文件。functiona=sushu(b)x=fix(b/10);y=rem(b,10);a=10*y+x;signab=0;form=2:sqrt(b)ifrem(b,m)=0signab=signab+1;endendforn=2:sqrt(a)ifrem(a,n)=0s

24、ignab=signab+1;endendifsignab=0a=b;elsea=0;end结果liangweisushu=;forn=10:99a=W53(n);ifa>0liangweisushu=liangweisushu,a;endenddisp('所有的两位绝对素数是:,num2str(liangweisushu)所有的两位绝对素数是:2,已知f(40)y_f(30)f(20)(1)当f(n)=n10In(n25)时,求y值;(2)当f(n)=1*22*33*4.n*(nJ)时,求y值。functionfn=W551(n)fn=n+10*log(n*n+5);结果y=W

25、551(40)/(W551(30)+W551(20)y=0.63905.2>functionfn=f1(n)fn=0;fork=1:nfn=fn+k*(k+1);end结果y=W552(40)/(W552(30)+W552(20)y=1.7662六、实验报告要求1. 完成实验内容中的函数编制2. 验证实验结果正确性。实验五matlab高层绘图操作一、实验目的1,掌握绘制二维图形的常用函数;2,掌握绘制三维图形的常用函数;3,掌握绘制图形的辅助操作。二、实验原理1,二维数据曲线图(1)绘制单根二维曲线plot(x,y);绘制多根二维曲线plot(x,y)当x是向量,y是有一维与x同维的矩阵

26、时,则绘制多根不同颜色的曲线。当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。(2) 含有多个输入参数的plot函数plot(x1,y1,x2,y2,xn,yn)(4)具有两个纵坐标标度的图形plotyy(x1,y1,x2,y2)图形标注与坐标控制1) title(图形名称);xlabel(x轴说明)2) ylabel(y轴说明)text(x,y图形说明)3) legend(图例1,图例2,)axis(xminxmaxyminymaxzminzmax)2, 图形窗口的分割subplot(m,n,p)3, 三维曲线plot3(x1,y1,z1,选项1,

27、x2,y2,选项2,xn,yn,zn,选项n)5,三维曲面mesh(x,y,z,c)与surf(x,y,z,c)。一般情况下,x,y,z是维数相同的矩阵。X,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。6,图像处理1)imread和imwrite函数这两个函数分别用于将图象文件读入matlab工作空间,以及将图象数据和色图数据一起写入一定格式2)image和imagesc函数这两个函数用于图象显示。为了保证图象的显示效果,一般还应使用colormap函数设置图象色图。三、实验仪器和设备1计算机1台四、预习要求1. 复习二维与三维图形的绘图函数。2复习图形辅助操作

28、。五、实验内容及步骤3sinx1,设y=0.52cosx,在x=02n区间取101点,绘制函数曲线。1+xx=linspace(0,2*pi,101);y=(0.5+3*sin(x)./(1+x.*x).*cos(x);Plot(x,y)已知y1=x2,y2=cos(2x),y3=y1*y2,完成下列操作:(1) 在同一坐标系下用不同的颜色和线型绘制三条曲线;(2) 分别用条形图、阶梯图、杆图和填充图绘制三条曲线。2.1>x=linspace(-2*pi,2*pi,100);y1=x.A2;y2=cos(2*x);y3=y1.*y2;plot(x,y1,'b-',x,y2

29、,'r:',x,y3,'y-');text(4,16,'leftarrowy1=xA2');text(6*pi/4,-1,'downarrowy2=cos(2*x)');text(-1.5*pi,-2.25*pi*pi,'uparrowy3=y1*y2');2.2>x=linspace(-2*pi,2*pi,100);y1=x.A2;y2=cos(2*x);y3=y1.*y2;subplot(1,3,1);plot(x,y1);title('y1=xA2');subplot(1,3,2);pl

30、ot(x,y2);title('y2=cos(2*x)');subplot(1,3,3);plot(x,y3);title('y3=xA2*cos(2*x)');x=linspace(-2*pi,2*pi,20);y1=x.A2;subplot(2,2,1);bar(x,y1);title('y1=xA2条形图');subplot(2,2,2);stairs(x,y1);title('y1=xA2阶梯图');subplot(2,2,3);stem(x,y1);title('y1=xA2杆图');subplot(2,

31、2,4);fill(x,y1,'r');title('y1=xA2填充图');心的聚形團丁匸产的阶榛图302010y匸K2的杆图10-551003,已知x、二e2x_0丄“(x+Jl+x2),x.2在5<=x<=5区间绘制函数曲线。x=-5:0.01:5y=(x+sqrt(pi)/exp(2).*(x<=0)+1/2*log(x+sqrt(1+x.A2).*(x>0)plot(x,y)4,绘制函数的曲面图和等高线其中x的21个值均匀分布在-5,5范围,y的31个值均匀分布在0,10,要求使-22xy_4z二cosxcosye用subplo

32、t(2,1,1)和subplot(2,1,2)将产生的曲面图和登高图画在同一个窗口上x=linspace(-5,5,21);y=linspace(0,10,31);x,y=meshgrid(x,y);z=cos(x).*cos(y).*exp(-sqrt(x.A2+y.A2)/4);subplot(2,1,1);surf(x,y,z);subplot(2,1,2);contour3(x,y,z,50);六、实验报告要求1. 完成实验内容中的图像的显示;2. 验证实验内容中所显示图像的正确性。实验六MATLAB数值计算一、实验目的1,掌握数据统计和分析的方法;2,掌握数值插值与曲线拟合的方法;3

33、,掌握多项式计算的常用运算。二、实验原理1,数据统计处理1) 最大值与最小值(a)求向量的最大值与最小值y=max(X)与y,I=max(X)(b)求矩阵的最大值和最小值max(A)与Y,U=max(A),max(A,dim)2) 求和与求积sum(X),prod(X)sum(A)3) 标准方差与相关系数a)Y=std(A,flag,dim)b)corrcoef(X)2, 数据差值a)一维数据差值Y1=interp1(X,Y,X1,'method')b)二维数据差值Z1=interp2(X,Y,Z,X1,Y1,'method')曲线拟合P,S=polyfit(X

34、,Y,m)3, 多项式计算1) 多项式的加减计算2) 多项式乘法运算Y=conv(P1,P2)3) 多项式除法Q,r=deconv(P1,P2)多项式的导函数p=polyder(P):求多项式P的导函数p=polyder(P,Q):求P.Q的导函数p,q=polyder(P,Q):求P/Q的导函数,导函数的分子存入p,分母存入q5,多项式求值1) 代数多项式求值Y=polyval(P,x)2) 矩阵多项式求值polyvalm6,多项式求根x=roots(P)、实验仪器和设备1计算机四、预习要求1 .复习matlab多项式数值分析函数。2 .复习matlab曲线拟合与多项式计算函数五、实验内容及

35、步骤利用matlab提供的rand函数生成30,000个符合均匀分布的随机数,然后检验随机数的性质:(1) 均值和标准方差;最大元素与最小元素;(2) 大于0.5的随机数个数占总数额百分比。A=rand(100,300)mean(A)std(A,0,1);(1) B,C=max(A)E,F=max(B)B1,C1=min(A)E1,F2=min(B1)Length(find(A>0.5)/300001, 将100个学生5门功课的成绩存入矩阵P中,进行如下处理:(2) 分别求每门课的最高分、最低分及相应学生序号;分别求每门课的平均分和标准方差;(3) 5门课总分的最高分、最低分及相应学生序号;将5门课总分按照从大到小的顺序存入zcj中,相应学生序号存入xsxh。提示:上机调试时,为避免输入学生成绩的麻烦,可用取值范围在45,95之间的随机矩阵来表示学生成绩。P=45+(95-45)*rand()100,5Y,U=max(P)Y1,U1=min(P)(1) mean(P)std(P,0

温馨提示

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

评论

0/150

提交评论