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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

MATLAB实验报告最终定稿.docx

1、MATLAB实验报告最终定稿 MATLAB实验报告机电工程学院 姓名: 李祖达 学号: 5901111120 专业:机械设计制造及其自动化 目 录实验一 熟悉MATLAB环境认识MATLAB 3实验二 MATLAB运算础 6实验三 MATLAB矩阵分析和理 8实验四 求余弦的积分并绘出像 11实验五、六 用matlab求解多项式并用plot绘制函数图象(常微分程) 13实验七 函数件 16实验八、九 MATLAB程序设计(循环、择) 19实验十 采用SIMULINK的系统真 24实验十一 菜单设计27实验一熟悉MATLAB环境认识MATLAB一、 实验目的熟悉matlab的安装与启动;熟悉ma

2、tlab用户界面;熟悉matlab功能、建模元素;熟悉matlab优化建模过程。二、 实验设备与仪器1.微机2.matlab仿真软件三、 实验步骤1. 了解matlab的硬件和软件必备环境;2. 启动matlab;3. 熟悉标题栏,菜单栏,工具栏,元素选择窗口,状态栏,控制栏以及系统布局区;4. 学习优化建模过程。四、 实验报告要求1. 写出matlab系统界面的各个构成;以及系统布局区的组成;以及每一部分的功能;2. 优化建模过程应用举例五、实验内容(一)、Matlab操作界面1. 命令窗口(command window)2. 命令历史窗口(command history)3. 工作空间管理

3、窗口(workspace)4. 当前路径窗口(current directory)(二)、实现下列优化建模过程1、简单矩阵的输入步骤。指令:A=1 2 3 ;4 5 6 ;7 8 9A = 1 2 3 4 5 6 7 8 92、矩阵的分行输入。A=1,2,3 4,5,6 7,8,9 指令: A=1,2,3 4,5,6 7,8,9A = 1 2 3 4 5 6 7 8 93、指令的续行输入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.63454、画出衰减振荡曲线及其它的包络线。的取值范围是0,

4、2pi指令:t=0:pi/4:2*pi;y=exp(-t/3).*sin(3*t);plot(y)5、画出所表示的三维曲面。的取值范围是。 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.0000i 3.0000 - 8.0000i 2.0000 - 6.0000i 4.0000 - 9.0000i B=1+5

5、i,2+6i;3+8*i,4+9*iB = 1.0000 + 5.0000i 2.0000 + 6.0000i 3.0000 + 8.0000i 4.0000 + 9.0000i C=A*BC = 1.0e+02 * 0.9900 1.1600 - 0.0900i 1.1600 + 0.0900i 1.3700 实验二 MATLAB运算基础一、实验目的及要求:1.掌握建立矩阵的方法。2.掌握MATLAB各种表达式的书写规则以及常用函数的使用。二、实验内容及程序:计算表达式的值, x=(sin(48*pi/180)+sqrt(7)/(1+log2(15)-2i); y=abs(1+3i)/(1+

6、exp(2); z=x2+y2z = 0.4346 + 0.2859i2. 矩阵的直接建立及矩阵的运算(1)请利用直接建立矩阵的方法,采用两种方式建立如下矩阵:;(2)将矩阵A第2至3行中第1,3,4列元素赋给矩阵B;(3)将矩阵A的每个元素加30,并且将第1行和第3行进行交换。(1) A=1 2 3 10;4 5 6 12;7 8 9 14A = 1 2 3 10 4 5 6 12 7 8 9 14 A=1,2,3,10;4,5,6,12;7,8,9,14A = 1 2 3 10 4 5 6 12 7 8 9 14(2) B=A(2:3,1 3 4)B = 4 6 12 7 9 14 A=A

7、+30A = 31 32 33 40 34 35 36 4237 38 39 44(3),A=A+30A = 31 32 33 40 34 35 36 42 37 38 39 44 A=A(3,:) ;A(2,:) ;A(1,:)A = 37 38 39 44 34 35 36 42 31 32 33 403(1)建立一个的零矩阵、单位矩阵和元素全为1的方阵。 (2)请使用直接建立矩阵的方法,并结合MATLAB中建立矩阵的函数,生成如下矩阵。(1) a=zeros(4,5)a = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 b=eye(4,5)b = 1 0

8、 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 c=ones(4)c = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1(2) a=0 1 3; b=0 1 4; c=0 1 5; d=a;b;cd = 0 1 3 0 1 4 0 1 54当=0.2,0.4,0.6,0.8时,分别求的值。 x=0.2:0.2:0.8; y=sin(x).*cos(x)y = 0.1947 0.3587 0.4660 0.4998三、实验结果讨论1. 如何访问数组中的元素?设一个矩阵a,访问其第i个元素则为ai-1,其中以列为主顺序依次查询2. 如何输出显示字符型变量?

9、Sprintf(%c,x)实验三 MATLAB矩阵分析和处理一、实验目的1掌握生成特殊矩阵的方法。2掌握矩阵分析的方法。4用矩阵求逆法解线性方程组。二、实验内容1产生3行二列的单位矩阵、随机矩阵、零矩阵和对角矩阵。A=ones(3,2)A = 1 1 1 1 1 1B=rand(3,2)B = 0.9501 0.4860 0.2311 0.8913 0.6068 0.7621C=diag(3,2)C=diag(3,2)C = 0 0 3 0 0 0 0 0 02产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,求其行列式的值Hh和Hp以及他们的条件数Th和Tp,判断哪个矩阵性能更好,为什么?3建立一个

10、5x5矩阵,求它的行列式的值、迹、秩和范数4已知,求特征值和特征向量,并分析其数学意义 A=-29 6 18;20 5 12;-8 8 5A = -29 6 18 20 5 12 -8 8 5 v,d=eig(A)v = %特征向量 0.7130 0.2803 0.2733 -0.6084 -0.7867 0.8725 0.3487 0.5501 0.4050d = %特征值 -25.3169 0 0 0 -10.5182 0 0 0 16.83515下面是一个线性方程组(1) 求方程的解A=0.95;0.67;0.52;B=1/2 1/3 1/4;1/3 1/4 1/5;1/4 1/5 1/

11、6;X=BAX = 1.2000 0.6000 0.6000(2)将方程右边向量第三个元素0.52改为0.53,并比较解的变化 A=0.95;0.67;0.53; X=BAX = 3.0000 -6.6000 6.6000(3)计算系数矩阵A的条件数并分析结论6建立A矩阵,试比较sqrtm(A)和sqrt(A),并分析他们的区别 A=1 2 3;4 5 6;7 8 9A = 1 2 3 4 5 6 7 8 9 sqrtm(A)ans = 0.4498 + 0.7623i 0.5526 + 0.2068i 0.6555 - 0.3487i 1.0185 + 0.0842i 1.2515 + 0.

12、0228i 1.4844 - 0.0385i 1.5873 - 0.5940i 1.9503 - 0.1611i 2.3134 + 0.2717i sqrt(A)ans = 1.0000 1.4142 1.7321 2.0000 2.2361 2.4495 2.6458 2.8284 3.0000实验四 求余弦的积分并绘出图像一、实验目的 1、了解绘图工具的使用。二、实验要求1(不定积分)用int计算下列不定积分,并用diff验证,输入以下指令: syms x; f=x*sin(x2); int(f,x) ans = -cos(x2)/2验证: diff(-cos(x2)/2) ans = x

13、*sin(x2)输入以下指令: syms x; f=1/(1+cos(x); int(f) ans = tan(x/2)验证: diff(tan(x/2) ans = tan(x/2)2/2 + 1/22(定积分)用trapz,int计算下列定积分(2个),输入指令: syms x; f=sin(x)/x; int(f,x,0,1) ans = sinint(1) x=0:0.1:2*pi;f=exp(x).*sin(2*x);s=trapz(x,f)s = -209.55813(椭圆的周长) 用定积分的方法计算椭圆的周长t=0:0.001:2*pi;a=2;b=3;x=a*sin(t);y=

14、b*cos(t); X=0 x(1:end-1);Y=0 y(1:end-1);x=x-X;y=y-Y;d=sqrt(x.2+y.2);d=sum(d) d = 18.8651 4(二重积分)计算积分指令为: fun=inline(1+x+y).*(x.2+y.2-2*y i=dblquad(fun,-1,1,0,2)i =6.2835 (广义积分)计算广义积分指令为:syms x; 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(

15、1) - sin(1)/2实验五、六 用matlab求解多项式并用plot绘制函数图象(常微分方程)一、实验目的 1、 了解MATLAB中主要用dsolve求符号解析解,ode45,ode23,ode15s求数值解。2、 s=dsolve(方程1, 方程2,初始条件1,初始条件2 ,自变量) 用字符串方程表示,自变量缺省值为t。导数用D表示,2阶导数用D2表示,以此类推。S返回解析解。在方程组情形,s为一个符号结构。tout,yout=ode45(yprime,t0,tf,y0) 采用变步长四阶Runge-Kutta法和五阶Runge-Kutta-Felhberg法求数值解,yprime是用以

16、表示f(t,y)的M文件名,t0表示自变量的初始值,tf表示自变量的终值,y0表示初始向量值。输出向量tout表示节点(t0,t1, ,tn)T,输出矩阵yout表示数值解,每一列对应y的一个分量。若无输出参数,则自动作出图形。ode45是最常用的求解微分方程数值解的命令,对于刚性方程组不宜采用。ode23与ode45类似,只是精度低一些。ode12s用来求解刚性方程组,是用格式同ode45。可以用help dsolve, help ode45查阅有关这些命令的详细信息.3、熟悉plot绘图二、实验内容 1求下列微分方程的解析解(2个)指令为:y=dsolve(D2y+2*Dy-3*y=exp

17、(-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

18、)*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求方程的解析解和数值解,并进行比较(用plot绘图)解析解: s=

19、dsolve(1+x2)*D2y-2*x*Dy,y(0)=1,Dy(0)=3,x) s = x*(x2 + 3) + 1数值解:先建立m文件function dy=myfun_1(x,y)dy=zeros(2,1);dy(1)=y(2);dy(2)=2*x*y(1)/(1+x2);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方程的数值解,并进行比较.(用plot绘图)function dy=vdp1000(t,y)dy=zeros(

20、2,1);dy(1)=y(2);dy(2)=1000*(1-y(1)2)*y(2)-y(1);end T,Y=ode15s(vdp1000,0 3000,0 1); plot(T,Y(:,1),-)实验七 函数文件 一、实验目的1、理解函数文件的概念。2、掌握定义和调用MATLAB函数的方法。二、实验内容(选作2题)1、定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数文件。程序设计:M文件:function f(x)e=exp(x)ln=log(x)s=sin(x)c=cos(x)end运行结果: f(2i)e = -0.4161 + 0.9093iln = 0.

21、6931 + 1.5708is = 0 + 3.6269ic = 3.76222、一个物理系统可用下列方程组来表示: 从键盘输入m1、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) 0 cos(t) 0;0 m2 -sin(t) 0;0 0 -cos(t) 1;C=0;m1*g;0;m2*g;B=inv(A)*

22、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是绝对素数。试求所有两位绝对素数。要求:定义一个判断素数的函数文件。函数文件:for y=10:99 if isprime(y) a=rem(y,10); b=fix(y/10); c=10*a+b; if isprime

23、(c) disp(y) end endend运行结果: 11 13 17 31 37 71 73 79 974、设,编写一个MATLAB函数文件fx.m,使得调用f(x)时,x可用矩阵代入,得出的f(x)为同阶矩阵。程序设计:function y=fx(x)y=1./(x-2).2+0.1+1./(x-3).4+0.01end运行结果: x=1 2 3 4 5x = 1 2 3 4 5 fx(x)=1./(x-2).2+0.1+1./(x-3).4+0.01fx = 0.9716 10.9901 100.9091 1.2340 0.17245、已知(1)当f(n)=n+10ln时,求y的值。程

24、序设计:函数文件fn.m:function x=fn(n)x=n+10*log(n2+5)end调用fn.m的命令文件:y=fn(40)/(fn(30)+fn(20)运行结果:y =0.6390(2)当时,求y的值。程序设计:函数文件fn.m:function x=fn(n)if n120 y=84*120+(a-120)*1.15*84;else if a60 y=84*a-700; else y=84*a; endend disp(工号为,num2str(x),的员工工资为:,num2str(y),元);end2、用switchcase语句得出各月份的季节(如3,4,5月输出为春季)。请输

25、入月份function jijie(x)clear;x=input(请输入月份:);switch x case 1 disp(Num2str(x),月是冬季) case 2 disp(Num2str(x),月是冬季) case 3 disp(Num2str(x),月是春季) case 4 disp(Num2str(x),月是春季) case 5 disp(Num2str(x),月是春季) case 6 disp(Num2str(x),月是夏季) case 7 disp(Num2str(x),月是夏季) case 8 disp(Num2str(x),月是夏季) case 9 disp(Num2str(x),月是秋季) case 10 disp(Num2str(x),月是秋季) case 11 disp(Num2str(x),月是秋季) case 12 disp(Num2str(x),月是冬季)end 3、计算1+3+5+99的值,当和大于1000的时候终止计算,要求显示终止时候的求和结果以及

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

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