MATLAB实验报告最终定稿_第1页
MATLAB实验报告最终定稿_第2页
MATLAB实验报告最终定稿_第3页
MATLAB实验报告最终定稿_第4页
MATLAB实验报告最终定稿_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

MATLAB实验报告机电工程学院姓名:李祖达学号:5901111120专业:机械设计制造及其自动化目录实验一熟悉MATLAB环境认识MATLAB··············································3实验二实验三MATLAB运算础································6MATLAB矩阵分析和理·························8实验四求余弦的积分并绘出像······················11实验五、六用matlab求解多项式并用plot绘制函数图象(常微分程)13········································实验七函数件····································16实验八、九MATLAB程序设计(循环、择)················19实验十采用SIMULINK的系统真·······················24实验十一菜单设计····································27实验一熟悉MATLAB环境认识MATLAB一、实验目的熟悉matlab的安装与启动;熟悉matlab用户界面;熟悉matlab功能、建模元素;熟悉matlab优化建模过程。二、实验设备与仪器1.微机2.matlab仿真软件三、实验步骤1.了解matlab的硬件和软件必备环境;2.启动matlab;3.熟悉标题栏,菜单栏,工具栏,元素选择窗口,状态栏,控制栏以及系统布局区;4.学习优化建模过程。四、实验报告要求1.写出matlab系统界面的各个构成;以及系统布局区的组成;以及每一部分的功能;2.优化建模过程应用举例五、实验内容(一)、Matlab操作界面1.命令窗口(commandwindow)commandhistory)workspace)2.命令历史窗口(3.工作空间管理窗口(4.当前路径窗口(currentdirectory)(二)、实现下列优化建模过程1231、简单矩阵A456的输入步骤。指令:A=[123;456;789]A=1234567892、矩阵的分行输入。A=[1,2,34,5,67,8,9]指令:>>A=[1,2,34,5,67,8,9]A=1234567893、指令的续行输入S=1-1/2+1/3-1/4+...1/5-1/6+1/7-1/8指令:S=1-1/2+1/3-1/4+...1/5-1/6+1/7-1/8S=0.6345t4、画出衰减振荡曲线ye3sin3t及其它的包络线t。t的取值范围是3ye0[0,2pi]指令:t=[0:pi/4:2*pi];y=exp(-t/3).*sin(3*t);plot(y)5、画出zsin(x2y2)所表示的三维曲面。x,y的取值范围是[8,8]。yx22>>x=-8:0.5:8;>>y=-8:0.5:8;>>z=(sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2));>>plot3(x,y,z)6、复数矩阵的生成及运算A=[1,3;2,4]-[5,8;6,9]*iB=[1+5i,2+6i;3+8*i,4+9*i]C=A*B>>A=[1,3;2,4]-[5,8;6,9]*iA=1.0000-5.0000i3.0000-8.0000i2.0000-6.0000i4.0000-9.0000i>>B=[1+5i,2+6i;3+8*i,4+9*i]B=1.0000+5.0000i2.0000+6.0000i3.0000+8.0000i4.0000+9.0000i>>C=A*BC=1.0e+02*0.99001.1600-0.0900i1.1600+0.0900i1.3700实验二MATLAB运算基础一、实验目的及要求:1.掌握建立矩阵的方法。2.掌握MATLAB各种表达式的书写规则以及常用函数的使用。二、实验内容及程序:1.计算表达式的值sin487y|13i|,x1log152i,zxy221e22>>x=(sin(48*pi/180)+sqrt(7))/(1+log2(15)-2i);>>y=abs(1+3i)/(1+exp(2));>>z=x^2+y^2z=0.4346+0.2859i2.矩阵的直接建立及矩阵的运算12310A45612(1)请利用直接建立矩阵的方法,采用两种方式建立如下矩阵:;(2)将矩阵A第2至3行中第1,3,4列元素赋给矩阵B;(3)将矩阵A的每个元素加30,并且将第1行和第3行进行交换。(1)>>A=[12310;45612;78914]A=123104561278914>>A=[1,2,3,10;4,5,6,12;7,8,9,14]A=123104561278914(2)>>B=A(2:3,[134])B=46127914>>A=A+30A=313233403435364237383944(3),A=A+30A=313233403435364237383944>>A=[A(3,:);A(2,:);A(1,:)]A=3738394434353642313233403.(1)建立一个45的零矩阵、单位矩阵和元素全为1的方阵。(2)请使用直接建立矩阵的方法,并结合MATLAB中建立矩阵的函数,生成如下矩阵013d014。(1)a=zeros(4,5)a=00000000000000000000>>b=eye(4,5)b=10000010000010000010>>c=ones(4)c=1111111111111111(2)>>a=[013];>>b=[014];>>c=[015];>>d=[a;b;c]d=0130140154.当=0.2,0.4,0.6,0.8时,分别求ysin(x)cos(x)的值。>>x=0.2:0.2:0.8;>>y=sin(x).*cos(x)y=0.19470.35870.46600.4998三、实验结果讨论1.如何访问数组中的元素?设一个矩阵a,访问其第i个元素则为a[i-1],其中以列为主顺序依次查询2.如何输出显示字符型变量?Sprintf(‘%c’,x)实验三MATLAB矩阵分析和处理一、实验目的1.掌握生成特殊矩阵的方法。2.掌握矩阵分析的方法。4.用矩阵求逆法解线性方程组。二、实验内容1.产生3行二列的单位矩阵、随机矩阵、零矩阵和对角矩阵。>>A=ones(3,2)A=111111>>B=rand(3,2)B=0.95010.23110.48600.89130.76210.6068>>C=diag(3,2)C=diag(3,2)C=0000300002.产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,求其行列式的值Hh和Hp以及他们的条件数Th和Tp,判断哪个矩阵性能更好,为什么?3.建立一个5x5矩阵,求它的行列式的值、迹、秩和范数296184.已知A20512,求特征值和特征向量,并分析其数学意义885>>A=[-29618;20512;-885]A=-2920-865818125>>[v,d]=eig(A)v=%特征向量0.71300.28030.27330.87250.4050-0.6084-0.78670.34870.5501d=%特征值-25.31690000-10.51820016.83515.下面是一个线性方程组1/21/31/4x0.9511/31/41/5x0.6721/41/51/6x0.523(1)求方程的解>>A=[0.95;0.67;0.52];>>B=[1/21/31/4;1/31/41/5;1/41/51/6];>>X=B\AX=1.20000.60000.6000(2)将方程右边向量第三个元素>>A=[0.95;0.67;0.53];>>X=B\A0.52改为0.53,并比较解的变化X=3.0000-6.60006.6000(3)计算系数矩阵A的条件数并分析结论sqrtm(A)和sqrt(A),并分析他们的区别6.建立A矩阵,试比较>>A=[123;456;789]A=147258369>>sqrtm(A)ans=0.4498+0.7623i0.5526+0.2068i0.6555-0.3487i1.0185+0.0842i1.2515+0.0228i1.4844-0.0385i1.5873-0.5940i1.9503-0.1611i2.3134+0.2717i>>sqrt(A)ans=1.00001.41422.23612.82841.73212.44953.00002.00002.6458实验四求余弦的积分并绘出图像一、实验目的1、了解绘图工具的使用。实验要求二、1.(不定积分)用int计算下列不定积分,并用diff验证dxxsinx2dx,1cosx,,,xsinx2dx输入以下指令:>>symsx;>>f=x*sin(x^2);>>int(f,'x')ans=-cos(x^2)/2验证:>>diff(-cos(x^2)/2)ans=x*sin(x^2)dx1cosx输入以下指令:>>symsx;>>f=1/(1+cos(x));>>int(f)ans=tan(x/2)验证:>>diff(tan(x/2))ans=tan(x/2)^2/2+1/2(2个)2.(定积分)用trapz,int计算下列定积分2exsin(2x)dx,01sinxdxdxx01sinxx输入指令:>>symsx;0>>f=sin(x)/x;>>int(f,'x',0,1)ans=sinint(1)2exsin(2x)dx0>>x=0:0.1:2*pi;f=exp(x).*sin(2*x);s=trapz(x,f)s=-209.5581x2y214的周长3.(椭圆的周长)用定积分的方法计算椭圆9t=0:0.001:2*pi;a=2;b=3;x=a*sin(t);y=b*cos(t);>>X=[0x(1:end-1)];Y=[0y(1:end-1)];x=x-X;y=y-Y;d=sqrt(x.^2+y.^2);d=sum(d)d=18.8651(1xy)dxdy4.(二重积分)计算积分指令为:x2y22y>>fun=inline('(1+x+y).*(x.^2+y.^2-2*y<=0)','x','y');>>i=dblquad(fun,-1,1,0,2)i=6.283exp(x2)dx1x45.(广义积分指令为:>>symsx;)计算广义积分>>f=exp(-x.^2)./(1+x.^4);>>int(f,'x',-inf,inf)ans=(4*pi^(1/2)*hypergeom([1],[5/4,7/4],-1/4))/3+(2^(1/2)*pi*(cos(1)-sin(1)))/2实验五、六用matlab求解多项式并用(常微分方程)plot绘制函数图象一、实验目的1、了解MATLAB中主要用2、dsolve求符号解析解,ode45,ode23,ode15s求数值解。s=dsolve(‘方程2’…,’自变量’)用字符串方程表示,自变量缺省值为1’,‘方程2’,…,’初始条件t。导数用1’,’初始条件D表示,2阶导数用D2表示,以此类推。S返回解析解。在方程组情形,s为一个符号结构。[tout,yout]=ode45(‘yprime’,[t0,tf],y0)采用变步长四阶Runge-Kutta法和五阶Runge-Kutta-Felhberg法求数值解,yprime是用以表示f(t,y)的M文件名,y0表示初始向量值。表示数值解,每一列对应t0表示自变量的初始值,tout表示节点y的一个分量。若无输出参数,则自动作出图形。tf表示自变量的终值,(t,t,…,t),T输出矩阵输出向量yout01node45是最常用的求解微分方程数值解的命令,对于刚性方程组不宜采用。ode23与ode45类似,只是精度低一些。ode12s用来求解刚性方程组,同ode45。可以用helpdsolve,helpode45查阅有关些这命令的详细信息是用格式.3、熟悉二、实验内容plot绘图(2个)1.求下列微分方程的解析解指令为:y=dsolve('D2y+2*Dy-3*y=exp(-3*x)','x')y=C2*exp(x)-(x*exp(-3*x))/4-exp(-3*x)/16+C3*exp(-3*x)指令为:y=dsolve('D2y+Dy+y=cos(x)','y(0)=0','Dy(0)=1.5','x')y=sin((3^(1/2)*x)/2)*(cos(x-(3^(1/2)*x)/2)/2-cos(x+(3^(1/2)*x)/2)/2+(3^(1/2)*cos(x-(3^(1/2)*x)/2))/3+(3^(1/2)*cos(x+(3^(1/2)*x)/2))/3+(3^(1/2)*sin(x-(3^(1/2)*x)/2))/6+(3^(1/2)*sin(x+(3^(1/2)*x)/2))/6)+(3^(1/2)*exp(-x/2)*sin((3^(1/2)*x)/2))/3-(3^(1/2)*cos((3^(1/2)*x)/2)*((sin(x*(3^(1/2)/2-1))/2-cos(x*(3^(1/2)/2-1))*(3^(1/2)/2-1))/((3^(1/2)/2-1)^2+1/4)+(sin(x*(3^(1/2)/2+1))/2-cos(x*(3^(1/2)/2+1))*(3^(1/2)/2+1))/((3^(1/2)/2+1)^2+1/4)))/32.求方程(1x2)y"2xy',y(0)1,y'(0)3的解析解和数值解解析解:,并进行比较(用plot绘图)>>s=dsolve('(1+x^2)*D2y-2*x*Dy','y(0)=1','Dy(0)=3','x')s=x*(x^2+3)+1数值解:先建立m文件functiondy=myfun_1(x,y)dy=zeros(2,1);dy(1)=y(2);dy(2)=2*x*y(1)/(1+x^2);end后再命令窗口输入:>>[x,y]=ode23(@myfun_1,[0,1000],[0,1]);>>plot(x,y(:,1),'r+',x,y(:,2),'g*')得到:3.分别用ode45和ode15s求解Van-del-Pol方程d2xdx1000(1x2)x0dt2dtx(0)0,x'0)1.(用plot绘图)的数值解,并进行比较functiondy=vdp1000(t,y)dy=zeros(2,1);dy(1)=y(2);dy(2)=1000*(1-y(1)^2)*y(2)-y(1);end[T,Y]=ode15s('vdp1000',[03000],[01]);plot(T,Y(:,1),'-')实验七函数文件一、实验目的1、理解函数文件的概念。2、掌握定义和调用MATLAB函数的方法。二、实验内容(选作2题)1、定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数文件。程序设计:M文件:functionf(x)e=exp(x)ln=log(x)s=sin(x)c=cos(x)end运行结果:>>f(2i)e=-0.4161+0.9093iln=0.6931+1.5708is=0+3.6269ic=3.76222、一个物理系统可用下列方程组来表示:cosmcosmsin00amg1msin1100a121sin0cos1N00m20N10mg22m1、m2和的值,求从键盘输入a1、a2、N1、N2的值。其中g取’9.8,输入时以角度为单位。要求:定义一个求解线性方程组数文件。程序设计:AX=B的函数文件,然后在命令文件中调用该函函数文件in.m:function[a1,a2,N1,N2]=in(m1,m2,t)g=9.8;A=[m1*cos(t)-m1-sin(t)0;m1*sin(t)0cos(t)0;0m2-sin(t)0;00-cos(t)1];C=[0;m1*g;0;m2*g];B=inv(A)*C;a1=B(1);a2=B(2);N1=B(3);N2=B(4);end调用in.m的命令文件:>>m1=1;m2=2;t=30*pi/180;>>[a1,a2,N1,N2]=in(m1,m2,t)运行结果:a1=6.5333a2=1.8860N1=7.5440N2=26.13333、一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称是绝对素数。例如13是绝对素数。试求所有两位绝对素数。要求:定义一个判断素数的函数文件。函数文件:fory=10:99ifisprime(y)a=rem(y,10);b=fix(y/10);c=10*a+b;ifisprime(c)disp(y)endendend运行结果:>>111317313771737997fx11x20.1x30.01,编写一个4f(x)为同阶矩阵。24、设MATLAB函数文件fx.m,使得调用f(x)时,x可用矩阵代入,得出的程序设计:functiony=fx(x)y=1./[(x-2).^2+0.1]+1./[(x-3).^4+0.01]end运行结果:>>x=[12345]x=12345>>fx(x)=1./[(x-2).^2+0.1]+1./[(x-3).^4+0.01]fx=0.971610.9901100.90911.23400.1724f40yf30f205、已知n52(1)当f(n)=n+10ln程序设计:时,求y的值。函数文件fn.m:functionx=fn(n)x=n+10*log(n^2+5)end调用fn.m的命令文件:y=fn(40)/(fn(30)+fn(20))运行结果:>>y=0.6390fn122334nn1时,求y的值。(2)当程序设计:函数文件fn.m:functionx=fn(n)ifn<=0x=0;elsex=n*(n+1)+fn(n-1);endend调用fn.m的命令文件:y=fn(40)/(fn(30)+fn(20))运行结果:y=1.7662实验八,九MATLAB程序设计(循环、选择)一、实验目的1、掌握利用2、掌握利用if语句实现选择结构的方法;switch语句实现多分支选择结构的方法;3、掌握循环结构的程序书写方法。二、实验内容1、硅谷公司员工的工资计算方法如下:(1)工作时数超过120小时者,超过部分加发60小时者,扣发15%;(2)工作时数低于700元;(3)其余按每小时84元计发。编程按输入的工号和该号员工的工作时数,计算应发工资。functiongongzi(x,y,a)clear;x=input('请输入工号:a=input('请输入工作时长ifa>120');(小时):');y=84*120+(a-120)*1.15*84;elseifa<60y=84*a-700;elsey=84*a;endenddisp(['工号为',num2str(x),'的员工工资为:',num2str(y),'元']);3,4,5月输出为春季)end2、用switch…case语句得出各月份的季节(如。请输入月份functionjijie(x)clear;x=input('请输入月份:');switchxcase1disp([Num2str(x),'月是冬季'])'])case2disp([Num2str(x),'月是冬季case3disp([Num2str(x),'月是春季'])'])'])case4disp([Num2str(x),'月是春季case5disp([Num2str(x),'月是春季case6disp([Num2str(x),'月是夏季'])case7disp([Num2str(x),'月是夏季'])'])case8disp([Num2str(x),'月是夏季case9disp([Num2str(x),'月是秋季'])'])'])case10disp([Num2str(x),'月是秋季case11disp([Num2str(x),'月是秋季case12disp([Num2str(x),'月是冬季'])end3、计算1+3+5+…+99的值,当和大于1000的时候终止计算,要求显示终止时候的求和结果以及最后一位计算的整数值。functionjisuanhe()clear;a=1;y=0;while(y<=1000)y=y+a;a=a+2;enda=a-2;disp(['求和结果:',num2str(y)])disp(['最后一位计算的整数值:',num2str(a)])>>求和结果:1024最后一位计算的整数值:63K632122263的计算。4、分别采用循环语句和(1)循环:sum语句实现i2i0functionjisuank(y)clear;i=0;K=0;while(i<64)K=K+2^i;i=i+1;endK>>K=1.8447e+019(2)sum语句:functionqiuhe(K)clear;i=[1:63];b=2.^i;K=sum(b)>>K=1.8447e+019三、实验要求1、预习,写出自己设计的实验步骤;2、按照实验室规范使用计算机;3、做好实验记录(包括程序和结果)。四、思考题1、break语句和continue语句有什么区别?continue语句只结束本次循环,而不是终止整个循环的执行。break语句则是结束整个循环过程,不再判断执行循环的条件是否成立.2、函数文件和命令文件有何异同?1.函数文件一般都要带参数2.函数文件的变量是局部变量量是全局变量,都要有返回结果,运行期间有效,而命令文件没有参数与返回结果,运行完毕就自动被清除,而命令文件的变,执行完毕后仍被保存在内存中,且保存该函数文件的文件名必须是函数名个自变量,当有多个因变量时用3.函数文件要定义函数名以有多个因变量和多.m。M函数文件可[]括起来。3、写出书中82页第10题的程序运行结果。不知道是什么书..........4、*和.*运算有什么区别?对矩阵进行运算时,*是整个矩阵之间相乘,而.*是维数相同的矩阵中,对应的元素相乘生成新的矩阵。5、如何产生0~20均匀分布的随机整数?20*rand()即可。实验十采用SIMULINK的系统仿真一、实验目的1、熟悉SIMULINK工作环境及特点2、掌握线性系统仿真常用基本模块的用法3、掌握SIMULINK的建模与仿真方法4、子系统的创建和封装设计二、实验内容SIMULINK仿真实际应用.25>>G=tf(25,[1525])s(s5)1.系统开环传递函数,求系统单位负反馈闭环单位阶跃响应曲线。Transferfunction:25--------------s^2+5s+25>>step(G)2.(1)在Simulink集成环境下建立模型,在给定信号作用点处输入单位给定阶跃响应信号,0.3秒后在扰动信号点输入单位阶跃响应信号。并绘制相应的响应曲线。(2)计算仿真结果的超调量、上升时间、峰值时间、稳态误差。超调量:mp=(1.2-0.99)/0.99*100%=21.2%上升时间峰值时间稳态误差:t=0.18ss:t=0.25p:e=1-0.99=0.01ss实验十一菜单设计一、实验目的1.了解图形用户界面的特点。2.掌握菜单设计的方法。3.掌握对话框设计的方法。二、实验内容1.设计菜单菜单条仅有File菜单项,File下有New、Plot和Exit等3个选项。选择Plot将显示下一级菜单,其中有SineWave和CosineWaveSineWave子菜单项,则将打开一个新的图形窗口并显示CosineWave子菜单项,Exit菜单项,则将关闭窗口并推出用户系统回到New时利用Edit命令建立一个新的M文件。选择两个子菜单项,

温馨提示

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

评论

0/150

提交评论