已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一 MATLAB运算基础1. 实验目的1) 熟悉启动和退出MATLAB的方法。2) 熟悉MATLAB命令窗口的组成。3) 掌握建立矩阵的方法。4) 掌握MATLAB各种表达式的书写规则以及常用函数的使用。2. 实验内容1、 用逻辑表达式求下列分段函数的值。2、 求100-999之间能被21整除的数的个数。3、 建立一个字符串向量,删除其中的大写字母。4、 输入矩阵,并找出A中大于或等于5的元素(用行列表示)。5、 求矩阵的行列式值、逆和特征根。6、 不采用循环的形式求出和式的数值解。3. 实验程序及结果1、 程序如下:t=0:0.5;2.5.y=t.2*(t=0)&(t=1)&(t=2)&(t=A&ch=5),for n=1:length(i)m(n)=A(i(n),j(n)endM运行结果:5、 程序代码:a11=input(a11=),a12=input(a12=),a21=input(a21=),a22=input(a22=),A=a11,a12,a21,a22,DA=det(A),IA=inv(A),EA=eig(A)运行结果如下:6、程序代码如下:sum(2.0:63)结果如下:4 心得体会 通过本次的学习,使我对MATLAB的使用有了基本的了解。熟悉了MATLAB的一系列运用和命令窗口的基本组成。掌握如何去建立矩阵及各种表达式的书写规则和常规函数的使用。对行列式的运用有了进一本的了解。实验二 M函数与M文件的编写与应用1. 实验目的1、 熟悉MATLAB的环境与工作空间。2、 熟悉变量与矩阵的输入、矩阵的运算。3、 熟悉M文件与M函数的编写及应用。4、 熟悉MATLAB控制语句与逻辑运算。2. 实验内容1、1行100列的Fibonacc数组a,a(1)=a(2)=1,a(i)=a(i-1)+a(i-2),用for循环指令来寻求该数组中第一个大于10000的元素,并指出其位置i。2、 编写M脚本文件,定义下列分段函数,并分别求出当(x1=1,x2=0.5)、(x1=-1,x2=0)和(x1=0,x2=-0.5)时的函数值。3、 编写M函数表示曲线sint以及其它的包络线,并从命令窗口输入命令语句绘制曲线。t的取值范围是0-4。4、 设编写一个M文件,使的调用函数f(x)时,x可用矩阵代入,得出的f(x)为同价矩阵。5、 实验程序及结果心得体会3.实验程序及结果1、程序代码如下:n=100;a=ones(1,n);for i=3:na(i)=a(i-1)+a(i-2);if a(i)10000a(i),break;end;end,i程序运行结果如下:2、程序代码如下:functionp=ff(x1,x2) if x1+x21p=0.5457*exp(-0.75*x22-3.75*12-1.5*1);elseif x1+x2=-1p=0.5457*exp(-0.75*x22-3.75*12-1.5*1);else p=0.7575*exp(-x22-6.*x12);End在命令窗口输入x1=0.x2=-0.5ff(x1,x2)运行结果:ans=0.5899输入 X1=-1,x2=0 Ff(x1,x2) 程序结果如下: Ans= 0.00229 输入 X1=1,x2=0.5 Ff(x1,x2)程序结果如下Ans= 0.02243、 程序代码如下:function y=ff(t )y1=exp(-t/3)y2=exp(-t/3).*sin(3*t);y=y1;y2单击M文件编辑器的SAVE图标,使出现标准的文件保存对话框在文件对话框中选定目录填写文件名单击SAVE按钮把M文件保存到制定的文件目录中输入如下命令 T=0:pi/100:4*pi; Plot(t,ff(tt)4、 程序代码如下:function f=fx(x) f=1./(x-2).2+0.1)+1./(x-3).4+0.01)4 实验心得 通过对M函数与M文件的编写与应用使我对MATLAB的环境与工作空进有了更近一步的熟悉,可以在文件保存对话框中选定目录,填写文件名并设置M文件保存在制定的目录中,熟悉了M文件与M函数的编写与应用和MATLAB的控制语句与逻辑运算。实验三 选择与循环结构程序的设计1. 实验目的1、 掌握if语句、switch语句、try语句的使用。2、 掌握利用for语句、while语句实现循环结构的方法。2. 实验内容1、 根据求(1) y=3 my=y-f(n)%y3时的最大y值 mn=n-1%y0,e=sum(p1)%正数的个数p2=fgrade=90 case 8 grade=B case 7 grade=C case 6 grade=D case num2cell(0:5)%数值向量必须转换为元胞数组才能作为判决条件 grade=E otherwise if per=100 grade=A%grade=100 else grade=error%grade100 endend程序运行,在命令窗口输入成绩后可显示成绩等级。4、 程序代码如下:function y=ex3_4(x)for i=1:length(x) if (x(i)0)&(x(i)=-3)%如果x为一向量,x=0)&(x(i)1.1)+x.*(abs(x)=1.1);plot(x,y)程序运行结果如下:4 心得体会本节学习了对MATLAB的绘图使用,MATLAB可以提供很多图形函数,可以绘制二维,三维和一些专业的数据图形,学习到了关于MATLAB其他控制函数的使用方法。其中对基本的绘图命令,轴的形式与刻度设置以及图形的标注网格及图例说明有了清楚的认识,对各个命令如fplot subplot plotyy polar等有了基本的了解。在后章节对三维图形的绘制有了一定的方法。对三维图形的图形绘制函数如surf mesh函数有了一定的认识。 实验六 Simulink仿真应用1. 实验目的1、 熟悉Simulink环境。2、 熟悉建立Sinulink仿真框图并进行系统仿真。3、 熟悉编写S函数和M函数对系统进行仿真。2. 实验内容1、 Van der Pol 方程所描述系统的仿真。设置初始条件x1(0)=x2(0)=0.25,仿真时间t=20s及Van der Pol方程要求:(1) 绘出Simulink仿真模块图并进行仿真得到系统的时间相应和相平面图。(2) 编写M函数和M文件得到系统的时间响应和相平面图。(3) 编写S函数并绘出S函数仿真框图,仿真得到系统的时间响应和相了、平面图。2、 采用S函数来构造非线性分段函数。 3. 实验程序及结果1、 程序代码如下:先编写一个m函数文件如下:function xdot=vdpol(t,x)xddot1(1)=x(1)*(1-x(2)2)-x(2);xdot1(2)=x(1);xdot=xdot1;然后编写另一个M文件:ts=0 20;x0=0.25 0.25t,x=ode45(vdpol,ts,x0);subplot(121),plot(t,x)subplot(122),plot(x(:,1),x(:,2)程序运行结果如下:系统仿真块图如下:采用S函数编写如下:function sys,x0,str,ts = sy6_13(t,x,u,flag) switch flag, case 0, sys,x0,str,ts=mdlInitializeSizes; case 1, sys=mdlDerivatives(t,x,u); case 3, sys=mdlOutputs(t,x,u); case 2,4,9 sys=; otherwise error(Unhandled flag = ,num2str(flag); end function sys,x0,str,ts=mdlInitializeSizes sizes = simsizes; sizes.NumContStates = 2;sizes.NumDiscStates = 0;sizes.NumOutputs = 2;sizes.NumInputs = 0;sizes.DirFeedthrough = 0;sizes.NumSampleTimes = 1; % at least one sample time is needed sys = simsizes(sizes); x0 = 0.25;0.25; str = ; ts = 0 0; function sys=mdlDerivatives(t,x,u) sys(1)=1=x(1).*(1-x(2).2)-x(2);sys(2)=x(1); function sys=mdlOutputs(t,x,u) sys =x;然后绘制S函数仿真框图:仿真可以得到与上图一样的结果。我用的的是matlab8.0仿真得到的结果与书上不一致2、 编写的S函数如下:function sys,x0,str,ts=ex5sf2(t,x,u,flag)switch flag,case 0, sys,x0,str,ts=mdlInitializeSizes;case 3, sys=mdlOutputs(t,x,u);case 1,2,4,9 sys=;otherwise error(Unhandled flag=,num2str(flag);endfunctionsys,x0,str,ts=mdlInitializeSizessizes= simsizes;sizes.NumContStates= 0;sizes.NumDiscStates= 0;sizes.NumOutputs= 1;sizes.NumInputs= 1;sizes.DirFeedthrough= 1;sizes.NumSampleTimes= 1;sys=simsizes(sizes);x0=;str=;ts=0 0;function sys=mdlOutputs(t,x,u)if u=1&u=3&u=4&u=5&u6 sys=2-(u-5)2;else sys=1;end系统框图如下:仿真得到:4实验心得 本章学习了SIMULINK仿真工具箱,知道了他是对动态系统进行建模,仿真和分析的一个软件包,支持连续,离散及两者混合的线性和非线性的系统仿真。知道了它的作用是提供了封装和模块化工具,提高了仿真的集成化和可视化程度,简化了设计过程,减轻了设计负担。更加熟悉的去编写S函数和M函数并对系统进行仿真 实验七 线性系统分析与设计1. 实验目的1、熟悉MATLAB控制系统工具箱。2、掌握MATLAB控制系统工具箱中进行分析设计的函数命令。3、了解控制系统的计算机辅助分析与设计方法。2.实验内容1、设一高阶系统的传递函数为将系统的传递函数模型转换为状态空间模型及零点增益模型。2、 已知二阶系统传递函数为当=1时,试计算阻尼比从0.11时的二阶系统的阶跃响应,并绘制阶跃响应三维网格曲面图。3、 已知一系统的传递函数为绘制Bode图、Nichlos图、Nyquist图。4、 设系统的开环传递函数为画出系统的根轨迹,并求出临界点(即跟在虚轴上)的增益。3. 实验程序及结果1、 程序代码如下:num=0.0001 0.0218 1.0436 9.3599;den=0.0006 0.0268 0.6365 6.2711;sys=idtf(num,den);sys1=idss(sys);sys2=zpk(sys);运行结果如下:2、 程序代码如下:num=1;Y=zeros(200,1);i=0;for bc=0.1:0.1:1 den=1,2*bc,1;t=0:0.1:19.9;sys=idtf(num,den); i=i+1;Y(:,i)=step(sys,t);endmesh(Y)运行结果如下:3、 程序如下:clcclearclose allnum=0 0 2 8 12 8 2;den=1 5 10 10 5 1 0;sys=idtf(num,den)bode(sys)figurenicho(sys),运行结果如下:4、 程序代码如下:clear;clc;clf;disp(分析连续系统)s=idtf(1,1,12,30,50,3)figure(1);rlocus(s);sgrid;title(连续系统根轨迹图)rlocfind(s)dis
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 危险临时施工方案
- 医美策划活动方案
- 孝感网上营销方案
- 活动策划摄影培训方案
- 施工方案的执行
- 清水水库施工方案
- 餐饮行业食品安全及卫生管理规范
- 客户服务流程优化方案问题解决效率提升
- 现代养殖场财务制度建设指南
- 企业行政工作流程自动化实施方案
- 医学检验科SOP文件全集
- 网络安全员考试实操题库及答案解析
- 2025 年大学动物医学(动物寄生虫)下学期期末测试卷
- 雨课堂在线学堂《军事理论》作业单元考核答案
- 员工离职流程及薪资结算标准
- 中国儿童食物过敏循证指南解读 4
- 【《高血压脑出血患者超早期康复护理的分析进展》5100字】
- 2025及未来5年中国酒吧市场调查、数据监测研究报告
- 2025及未来5年中国密封袋市场调查、数据监测研究报告
- 詹何钓鱼课件
- 精装装修知识培训课件
评论
0/150
提交评论