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

下载本文档

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

文档简介

-实验一 MATLAB环境的熟悉与基本运算一、实验目的及要求1熟悉MATLAB的开发环境; 2掌握MATLAB的一些常用命令; 3掌握矩阵、变量、表达式的输入方法及各种基本运算。 二、实验内容 1.熟悉MATLAB的开发环境: MATLAB的各种窗口:命令窗口、命令历史窗口、工作空间窗口、当前路径窗口。 路径的设置: 建立自己的文件夹,加入到MATLAB路径中,并保存。 设置当前路径,以方便文件管理。2.学习使用clc、clear,了解其功能和作用。3.矩阵运算:已知:A=1 2;3 4; B=5 5;7 8; 求:A*B、A.*B,并比较结果。4.使用冒号选出指定元素:已知:A=1 2 3;4 5 6;7 8 9; 求:A中第3列前2个元素;A中所有列第2,3行的元素;5.在MATLAB的命令窗口计算:1) 2) 6.关系及逻辑运算1)已知:a=5:1:15; b=1 2 8 8 7 10 12 11 13 14 15,求: y=a=b,并分析结果2)已知:X=0 1;1 0; Y=0 0;1 0,求: x&y+xy,并分析结果7.文件操作1)将0到1000的所有整数,写入到D盘下的data.txt文件2)读入D盘下的data.txt文件,并赋给变量num8.符号运算1)对表达式f=x3-1进行因式分解2)对表达式f=(2x2*(x+3)-10)*t,分别将自变量x和t的同类项合并3)求三、实验报告要求完成实验内容的3、4、5、6、7、8,写出相应的程序、结果实验二 MATLAB 语言的程序设计一、实验目的1、熟悉 MATLAB 程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法3、函数文件的编写和设计4、了解和熟悉变量传递和赋值二、实验内容1编写程序,计算1+3+5+7+(2n+1)的值(用input语句输入n 值)。2编写分段函数 的函数文件,存放于文件ff.m中,并求,的值。3用 for 循环语句实现编写一个求n 阶乘的函数文件1、函数文件设计: 设计一个函数文件实现一个阶乘运算 ,并设计程序调用该函数。 为保证函数的通用性,当输入负数或小数时,显示出错提示: disp(Input parameter must be a positive integer!) 提示:fix(x) 对零方向取整数 ceil(x) 对+方向取整数 round(x) 四舍五入取整数4找到一个 n! 10100 的值(利用上题的n阶乘函数文件)5已知一维数组 A = 2,4,5,8,10、B =4,9,6,7,4,用for 循环语句实现,求和函数可用sum()6编写验证魔方矩阵的函数文件,输出要求如下:(1) 如果输入矩阵的维数小于3,输出显示error(2) 如果输入矩阵的不是方阵,输出显示the size of matrix X must be N-by-N matrix(3) 显示行、列和及其对角线求和后的值,并判断其和是否相同。若不同,显示No,相同显示Yes。三、实验报告要求在M 文件编辑器中,编写程序代码并调试实验三 MATLAB 的图形绘制一、实验目的及要求:1.掌握MATLAB 绘图的基本方法,熟悉各种绘图函数的使用;2.掌握图形的修饰方法和标注方法;3.了解MATLAB 中图形窗口的操作。二、实验内容: x=2,2,y1=sinx、y2=cosx、y3=sin2x、y4=cos 2x用MATLAB语言分四个区域分别绘制的曲线,并且对图形标题及横纵坐标轴进行标注(如下图所示)。图2 四分区绘制曲线另建一个窗口,不分区,用不同颜色、线型绘出四条曲线,并标注图例注解。 图3 同一窗口绘制多条曲线绘制三维曲线:三、实验报告要求: 写出相应的的程序及上机结果。欢迎下载实验四 控制系统的模型及其转换一、实验目的及要求 1、掌握建立控制系统模型的函数及方法; 2、掌握控制系统模型间的转换方法及相关函数;3、熟悉控制系统模型的连接方法;4、掌握典型系统模型的生成方法。二、实验内容1、已知两个传递函数分别为:在MATLAB中分别用传递函数、零极点表示;在MATLAB中分别求出通过反馈、串联、并联后得到的系统模型;2、系统的模型为 试建立系统的传递函数模型。3、已知单输入双输出系统的零极点模型建立系统的零极点模型。4. 控制系统模型的转换4.1 将2的模型转换为零极点模型4.2 将3的模型转换为传递函数模型三、实验报告要求写出程序及上机的结果。实验五 SIMULINK基本操作一、实验目的学会SIMULINK仿真基本操作二、实验内容1、打开Simulink Library Browser窗口,练习功能模块的基本操作。2、通过示波器观察1MHz,幅度为15mV的正弦波和100KHz,幅度为5mV的正弦波相乘的结果。写出数学表达式。通过使用三踪示波器同时观察1MHz、100KHz正弦波以及相乘的结果。注意设置仿真参数和示波器的扫描参数和幅度显示参数。3、系统开环传递函数,求系统单位负反馈闭环单位阶跃响应曲线。4、学习构建SIMULINK子系统。构建一个子系统,使得它具有将输入信号m(t)(如一个100Hz的正弦波)和一个常数C相加后再和一个1000Hz的幅度为A的正弦波相乘的功能:y(t)=A(m(t)+C)sin(2*pi*f*t),其中f=1000Hz。保存为s23.mdl。用sim指令在命令空间启动模型进行仿真:在Matlab命令空间中用语句对参数A,C,f进行设置,并对采用命令open打开,采用sim指令进行仿真。请给出指令语句。三、实验报告要求写出程序及上机的结果。实验六 控制系统的时域分析一、 实验目的利用MATLAB进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性;二、 实验内容(一) 稳定性1. 系统传函为,试判断其稳定性。2. 用Matlab求出的极点,判断稳定性。(二)阶跃响应典型二阶系统:要求: 1)在Matlab环境下,编程绘制出当Wn=6,时,二阶系统的单位阶跃响应曲线并分析的变化对控制系统输出的影响;2)在Matlab环境下,编程绘制出,Wn=2、4、6、8、10、12时,系统的单位阶跃响应曲线并说明Wn的变化对系统输出有何影响。(三)系统动态特性分析3.1用编程方式求二阶系统阶跃响应的峰值时间,上升时间,调整时间,超调量。3.2 (1)在Simulink集成环境下建立模型,在给定信号作用点处输入单位给定阶跃响应信号,0.3秒后在扰动信号点输入单位阶跃响应信号。并绘制相应的响应曲线。(2)计算仿真结果的超调量、上升时间、峰值时间、稳态误差。三、 实验报告要求:1)完成上述各题2)分析零极点对系统性能的影响3)分析阻尼比、振荡频率Wn对系统阶跃响应的影响实验七 控制系统的频域分析一、实验目的1. 利用计算机作出开环系统的波特图2. 观察记录控制系统的开环频率特性3. 控制系统的开环频率特性分析二、实验内容:1、绘制典型二阶系统的Bode图要求:在Matlab环境下,以为参变量,编程绘制该系统的对数频率特性曲线(Bode图),并从Bode图中找出二阶系统由于的变化对其Bode图有何影响?图形有哪些变化?图形与的对应关系(在图中对应的标注出来)2、某控制系统的开环传递函数为要求:在Matlab环境下,编程绘制该系统的开环Bode图,并通过Bode 图判断该闭环系统的稳定性。若闭环系统稳定,则从图中求出系统的幅值裕度Kg、相位裕度3、某控制系统的开环传递函数为: 要求:1)绘制开环系统的nyquist图,并判断闭环系统的稳定性;求出系统的单位冲激响应; 2) 若给系统增加一个s=1的开环极点(p=2), 绘制此时的nyquist图,判别此时闭环系统的稳定性;并求出系统的单位冲激响应;3)若给系统增加一个开环极点p=2的同时再增加一个开环零点z=0, 绘制此时的nyquist图, 判别此时闭环系统的稳定性;并求出系统的单位冲激响应。三、实验报告要求:1)完成上述各题2)分析幅值裕度Kg、相位裕度的物理意义。实验八 控制系统PID 校正器设计法一、实验目的1、熟悉常规 PID 控制器的设计方法2、掌握 PID 参数的调节规律3、学习编写程序求系统的动态性能指标二、 相关知识临界比例度法(边界稳定法)用系统的等幅振荡曲线来整定控制器的参数。先测出系统处于闭环状态下对象的等幅振荡曲线,根据等幅振荡曲线定出一些能反映控制对象动态特性的参数,具体做法是将比例增益K(或比例度=1/K)调在比较小的位置上(对应为比较大位置上),逐渐增大K值(或逐渐减小),直到出现等幅振荡曲线,此时的比例增益为Km,称为临界比例增益, 称为临界比例度。从振荡曲线上读出临界周期Tm。根据得到的Km(或)、Tm两个参数,利用下表来计算控制器的控制参数。控制器类型控制器的控制参数比例增益Kp比例度积分时间Ti微分时间TdP0.5Km20PI0.45Km2.2Tm/1.20PID0.6Km1.70.5Tm0.125Tm三、实验内容1、在SIMULINK 窗口建立如下页模型。2、设计PID控制器,传递函数模型如下 3、修改PID参数讨论参数对系统的影响4、利用临界比例度法(即:稳定边界法)对PID参数校正设计。参 数KmTmKpTiTd数 值0.681.9910.3061.65925、根据PID参数对系统的影响,调节PID参数实现系统的超调量小于10%。参数KpTiTd数值6、通过程序求得系统的超调量、上升时间和调节时间(误差带选为5%)四、实验报告要求: 写出程序及上机的结果,并对结果进行分析。实验一 MATLAB环境的熟悉与基本运算一、实验目的及要求1熟悉MATLAB的开发环境; 2掌握MATLAB的一些常用命令; 3掌握矩阵、变量、表达式的输入方法及各种基本运算。 二、实验内容 3.矩阵运算:已知:A=1 2;3 4; B=5 5;7 8; 求:A*B、A.*B,并比较结果。程序:A*B A.*B结果:19 21 5 10 43 47 21 32结果分析:*表示矩阵相乘,而.*表示矩阵的各元素对应相乘4.使用冒号选出指定元素:已知:A=1 2 3;4 5 6;7 8 9; 求:A中第3列前2个元素;A中所有列第2,3行的元素;程序:A(1:2,3) A(2:3,:)结果:3 4 5 6 6 7 8 95.在MATLAB的命令窗口计算:1) 2) 程序:f=sin(2*pi) (89(1/2)+55*0.4)/4.5结果:f = -2.4493e-016 ans = 6.98536.关系及逻辑运算1)已知:a=5:1:15; b=1 2 8 8 7 10 12 11 13 14 15,求: y=a=b,并分析结果程序:y=a=b结果:y = 0 0 0 1 0 1 0 0 1 1 1结果分析:2)已知:X=0 1;1 0; Y=0 0;1 0,求: x&y+xy,并分析结果程序:X&Y+XY结果:0 1 1 0结果分析:7.文件操作1)将0到1000的所有整数,写入到D盘下的data.txt文件程序:x=0:1:1000结果:save data.txt x -ascii double2)读入D盘下的data.txt文件,并赋给变量num程序:num=load(data.txt)8.符号运算1)对表达式f=x3-1进行因式分解程序:syms x f=x3-1 factor(f)结果:ans =(x - 1)*(x2 + x + 1)2)对表达式f=(2x2*(x+3)-10)*t,分别将自变量x和t的同类项合并程序:syms x t f=(2*(x2)*(x+3)-10)*t; collect(f,x) collect(f,t)结果:ans =2*t*x3 + 6*t*x2 - 10*t ans =(2*x2*(x + 3) - 10)*t3)求程序:syms x z f=x/(1+z)3; int1=int(f,z)结果:int1 =-x/(2*(z + 1)2)实验二 MATLAB 语言的程序设计一、实验目的1、熟悉 MATLAB 程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法3、函数文件的编写和设计4、了解和熟悉变量传递和赋值二、实验内容1编写程序,计算1+3+5+7+(2n+1)的值(用input语句输入n 值)。程序:function s = WFSSY21(x,n)%UNTITLED2 Summary of this function goes here% Detailed explanation goes heren=input(please input n:);s=0for n=0:1:n x=2*n+1; s=s+x;end结果:please input n:5s =362编写分段函数 的函数文件,存放于文件ff.m中,并求,的值。程序:function y =WFSSY22( x )%UNTITLED5 Summary of this function goes here% Detailed explanation goes herex=input(please input x:);y=0;if x0y=0;elseif x1y=x;elseif x=2y=2-x;elsey=0end结果:please input x:-3ans =0please input x:2(1/2)ans =0.5858please input x:infy=0ans = 03用 for 循环语句实现编写一个求n 阶乘的函数文件1、函数文件设计: 设计一个函数文件实现一个阶乘运算 ,并设计程序调用该函数。 为保证函数的通用性,当输入负数或小数时,显示出错提示: disp(Input parameter must be a positive integer!) 提示:fix(x) 对零方向取整数 ceil(x) 对+方向取整数 round(x) 四舍五入取整数程序:function y = WFSSY23(n )%UNTITLED3 Summary of this function goes here% Detailed explanation goes herex=input(please input x:);if x 10100 的值(利用上题的n阶乘函数文件)程序:function y = WFSSY24( n )%UNTITLED4 Summary of this function goes here% Detailed explanation goes herex=input(please input x:);if x10100 y;else disp(n!10100! ans =Inf5已知一维数组 A = 2,4,5,8,10、B =4,9,6,7,4,用for 循环语句实现,求和函数可用sum()程序: function s,c = WFSSY25(i,n )%UNTITLED2 Summary of this function goes here% Detailed explanation goes hereA = 2,4,5,8,10;B =4,9,6,7,4;n=input(please input n:);for i=1:1:n c=A(i)*B(n-i+1);ends=sum(c)end结果:please input n:3 s = 206编写验证魔方矩阵的函数文件,输出要求如下:(1) 如果输入矩阵的维数小于3,输出显示error(2) 如果输入矩阵的不是方阵,输出显示the size of matrix X must be N-by-N matrix(3) 显示行、列和及其对角线求和后的值,并判断其和是否相同。若不同,显示No,相同显示Yes。程序: function b,m,n,c,d,p,e,f,j,h,i = WFSSY26( A )%UNTITLED3 Summary of this function goes here% Detailed explanation goes hereA=input(Enter matrix A=);b=ndims(A);m,n = size(A);if b17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 error Yes ans =2 Enter matrix A=17 24 5 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 error No ans =2实验三 MATLAB 的图形绘制一、实验目的及要求:1.掌握MATLAB 绘图的基本方法,熟悉各种绘图函数的使用;2.掌握图形的修饰方法和标注方法;3.了解MATLAB 中图形窗口的操作。二、实验内容: x=2,2,y1=sinx、y2=cosx、y3=sin2x、y4=cos 2x用MATLAB语言分四个区域分别绘制的曲线,并且对图形标题及横纵坐标轴进行标注。程序:close allclcx=-2*pi:pi/1000:2*pi;y1=sin(x);y2=cos(x);y3=sin(2*x);y4=cos(2*x);subplot(2,2,1)plot(x,y1);axis(-2*pi 2*pi -1 1)set(gca,xtick,-2*pi:pi:2*pi)set(gca,ytick,-1:0.5:1)set(gca,xticklabel,-2pi|-pi|0|pi|2pi)set(gca,yticklabel,-1|-0.5|0|0.5|1)xlabel(x);ylabel(y1);title(sin(x);grid on;subplot(2,2,2)axis(-2*pi 2*pi -1 1)plot(x,y2);axis(-2*pi 2*pi -1 1)set(gca,xtick,-2*pi:pi:2*pi)set(gca,ytick,-1:0.5:1)set(gca,xticklabel,-2pi|-pi|0|pi|2pi)set(gca,yticklabel,-1|-0.5|0|0.5|1)xlabel(x);ylabel(y2);title(cos(x);grid on;subplot(2,2,3)axis(-2*pi 2*pi -1 1)plot(x,y3);axis(-2*pi 2*pi -1 1)set(gca,xtick,-2*pi:pi:2*pi)set(gca,ytick,-1:0.5:1)set(gca,xticklabel,-2pi|-pi|0|pi|2pi)set(gca,yticklabel,-1|-0.5|0|0.5|1)xlabel(x);ylabel(y3);title(sin(2x);grid on;subplot(2,2,4)axis(-2*pi 2*pi -1 1)plot(x,y4);axis(-2*pi 2*pi -1 1)set(gca,xtick,-2*pi:pi:2*pi)set(gca,ytick,-1:0.5:1)set(gca,xticklabel,-2pi|-pi|0|pi|2pi)set(gca,yticklabel,-1|-0.5|0|0.5|1)xlabel(x);ylabel(y4);title(cos(2x);grid on;结果:另建一个窗口,不分区,用不同颜色、线型绘出四条曲线,并标注图例注解。程序:close allclcx=-2*pi:pi/100:2*pi;y1=sin(x);y2=cos(x);y3=sin(2*x);y4=cos(2*x);hold onplot(x,y1,r-);plot(x,y2,m-);plot(x,y3,k-.);plot(x,y4,b:);legend(sin(x),cos(x),sin(2x),cos(2x)grid on;结果:绘制三维曲线:程序:close allclct=0:pi/100:20*pi;x=sin(t);y=cos(t);z=t.*x.*y;plot3(x,y,z);结果:实验五 SIMULINK基本操作一、实验目的学会SIMULINK仿真基本操作。2、 实验内容1、打开Simulink Library Browser窗口,练习功能模块的基本操作。2、通过示波器观察1MHz,幅度为15mV的正弦波和100KHz,幅度为5mV的正弦波相乘的结果。写出数学表达式。通过使用三踪示波器同时观察1MHz、100KHz正弦波以及相乘的结果。注意设置仿真参数和示波器的扫描参数和幅度显示参数。程序:参数设置:Amplitude1:15Amplitude2:5Frequency 1(rad/sec):6280000Frequency 2(rad/sec):628000Sample time1,2:0.000001结果:3、系统开环传递函数,求系统单位负反馈闭环单位阶跃响应曲线。程序:结果:4、 学习构建SIMULINK子系统。构建一个子系统,使得它具有将输入信号m(t)(如一个100Hz的正弦波)和一个常数C相加后再和一个1000Hz的幅度为A的正弦波相乘的功能:y(t)=A(m(t)+C)sin(2*pi*f*t),其中f=1000Hz。保存为s23.mdl。用sim指令在命令空间启动模型进行仿真:在Matlab命令空间中用语句对参数A,C,f进行设置,并对采用命令open打开,采用sim指令进行仿真。请给出指令语句。程序:A=5;C=2;f=1000; open(s4.mdl);sim(s4.mdl);结果:实验四 控制系统的模型及其转换一、实验目的及要求 1、掌握建立控制系统模型的函数及方法; 2、掌握控制系统模型间的转换方法及相关函数;3、熟悉控制系统模型的连接方法;4、掌握典型系统模型的生成方法。二、实验内容1、已知两个传递函数分别为:在MATLAB中分别用传递函数、零极点表示;程序1:clear allclcnum1=0,1;den1=3,1;G1=tf(num1,den1)num2=0,2;den2=3,1,0;G2=tf(num2,den2)结果1: 1 -G1 = 3 s + 1 2 -G2 = 3 s2 + s程序2:clear allclcnum1=0,1;den1=3,1;G1=tf(num1,den1);tt1,ff1=tfdata(G1,v);z1,p1,k1=tf2zp(num1,den1);g1=zpk(z1,p1,k1)num2=0,2;den2=3,1,0;G2=tf(num2,den2);tt2,ff2=tfdata(G2,v);z2,p2,k2=tf2zp(num2,den2);g2=zpk(z2,p2,k2)结果2:g1 = 0.33333 - (s+0.3333)g2 = 0.66667 - s (s+0.3333)在MATLAB中分别求出通过反馈、串联、并联后得到的系统模型;程序1:clear allclcnum1=0,1;den1=3,1;num2=0,2;den2=3,1,0;num,den=series(num1,den1,num2,den2);G=tf(num,den)结果1:G = 2 - 9 s3 + 6 s2 + s程序2:clear allclcnum1=0,1;den1=3,1;num2=0,2;den2=3,1,0;num,den=parallel(num1,den1,num2,den2);G=tf(num,den)结果2:G = 3 s2 + 7 s + 2 - 9 s3 + 6 s2 + s程序3:clear allclcnum1=0,1;den1=3,1;num2=0,2;den2=3,1,0;num,den=feedback(num1,den1,num2,den2,1);G=tf(num,den)结果3:G = 3 s2 + s - 9 s3 + 6 s2 + s - 2程序4:clear allclcnum1=0,1;den1=3,1;num2=0,2;den2=3,1,0;num,den=feedback(num1,den1,num2,den2,-1);G=tf(num,den)结果4:G = 3 s2 + s - 9 s3 + 6 s2 + s + 22、系统的模型为 试建立系统的传递函数模型。程序:clear allclcnum=conv(4,conv(1,2,1,6,6);den=conv(conv(1,0,conv(1,1,1,1),conv(1,1,1,3,2,5);G=tf(num,den)结果:G = 4 s3 + 32 s2 + 72 s + 48 - s7 + 6 s6 + 14 s5 + 21 s4 + 24 s3 + 17 s2 + 5 s3、已知单输入双输出系统的零极点模型建立系统的零极点模型。程序:clear allclcz=-12,-5,-3;p=-3,-4,-5;k=3,4;G=zpk(z,p,k)结果:G = From input 1 to output: 3 (s+12) - (s+3) (s+4) (s+5) From input 2 to output: 4 (s+5) (s+3) - (s+3) (s+4) (s+5)4. 控制系统模型的转换4.1 将2的模型转换为零极点模型程序:clear allclcnum=conv(4,conv(1,2,1,6,6);den=conv(conv(1,0,conv(1,1,1,1),conv(1,1,1,3,2,5);G=tf(num,den);z,p,k=tf2zp(num,den);G=zpk(z,p,k)结果:G = 4 (s+4.732) (s+2) (s+1.268) - s (s+2.904) (s+1)3 (s2 + 0.09584s + 1.722) 4.2 将3的模型转换为传递函数模型程序:clear allclcz=-12,-5,-3;p=-3,-4,-5;k=3,4;G=zpk(z,p,k);G1=tf(G)结果:G1 = From input 1 to output: 3 s + 36 - s3 + 12 s2 + 47 s + 60 From input 2 to output: 4 s2 + 32 s + 60 - s3 + 12 s2 + 47 s + 60三、实验总结与体会实验六 控制系统的时域分析四、 实验目的利用MATLAB进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性;实验内容(一) 稳定性1. 系统传函为,试判断其稳定性。程序:clear allclcnum=3,2,5,4,6;den=1,3,4,2,7,2;G=tf(num,den)z,p,k=tf2zp(num,den);Go=zpk(z,p,k);Gc=feedback(Go,1);Gctf=tf(Gc);dc=Gctf.den;den=poly2str(dc1,s);den=1,6,6,7,11,8;p=roots(den)结果:G = 3 s4 + 2 s3 + 5 s2 + 4 s + 6 - s5 + 3 s4 + 4 s3 + 2 s2 + 7 s + 2p = -5.0058 + 0.0000i 0.4208 + 1.1540i 0.4208 - 1.1540i -0.9179 + 0.4656i -0.9179 - 0.4656i稳定性:系统有正实部的特征根,故该系统不稳定。2. 用Matlab求出的极点,判断稳定性。程序:clear allclcnum=1,2,2;den=1,7,3,5,2;z,p,k=tf2zp(num,den);s=p结果:s = -6.6553 + 0.0000i 0.0327 + 0.8555i 0.0327 - 0.8555i -0.4100 + 0.0000i稳定性:系统有正实部的特征根,故该系统不稳定。(二)阶跃响应典型二阶系统:要求: 1)在Matlab环境下,编程绘制出当Wn=6,时,二阶系统的单位阶跃响应曲线并分析的变化对控制系统输出的影响;程序:clcclose allclear allt=linspace(0,20,200);omega=6;omega2=omega2;zuni=0.1,0.2,0.3,0.4,1.2;num=omega2;for k=1:5 den=1 2 *zuni(k)*omega omega2; sys=tf(num,den); y(:,k)=step(sys,t);endfigure(1);plot(t,y(:,1:5);grid;gtext(zuni=0);gtext(zuni=0.1);gtext(zuni=0.2);gtext(zuni=0.3);gtext(zuni=0.4);gtext(zuni=1.2);结果:分析:当固定自然频率后,改变二阶系统的阻尼系数,在1时,阶跃响应曲线不再振荡,系统过阻尼。2) 在Matlab环境下,编程绘制出,Wn=2、4、6、8、10、12时,系统的单位阶跃响应曲线并说明Wn的变化对系统输出有何影响。程序:clcclose allclear allt=linspace(0,20,200);omega=2,4,6,8,10,12;zuni=0.7;omega2=omega.2;for k=1:6 num=omega2(k); den=1 2 *zuni*omega(k) omega2(k); sys=tf(num,den); y(:,k)=step(sys,t);endfigure(2);plot(t,y(:,1:6);grid;gtext(omega=2);gtext(omega=4);gtext(omega=6);gtext(omega=8);gtext(omega=10);gtext(omega=12);结果:分析:自然频率越大,系统的振动频率加快,上升时间减少,过渡时间减少,系统响应更迅速,动态性能变好。(三)系统动态特性分析3.1用编程方式求二阶系统阶跃响应的峰值时间,上升时间,调整时间,超调量。程序:close allclear allclcnum=120;den=1,12,120;z,p,k=tf2zp(num,den);G=zpk(z,p,k);C=dcgain(G)y,t=step(G);plot(t,y);grid;Y,k=max(y);TP=t(k)percentovershoot=100*(Y-C)/Cn=1;while y(n)0.98*C)&(y(i)1.02*C) i=i-1;endsettlingtime=t(i)结果:C = 1TP =0.3454percentovershoot =12.7829risetime =0.2379settlingtime =0.52963.2 (1)在Simulink集成环境下建立模型,在给定信号作用点处输入单位给定阶跃响应信号,0.3秒后在扰动信号点输入单位阶跃响应信号。并绘制相应的响应曲线。(2)计算仿真结果的超调量、上升时间、峰值时间、稳态误差。Simulink框图:参数设置:Step time1,2:0Time dely:0.3结果:超调量:%20.5上升时间:0.134峰值时间:0.208稳态误差:0.01三、实验总结与体会实验七 控制系统的频域分析一、实验目的1. 利用计算机作出开环系统的波特图2. 观察记录控制系统的开环频率特性3. 控制系统的开环频率特性分析二、实验内容:1、绘制典型二阶系统的Bode图要求:在Matlab环境下,以为参变量,编程绘制该系统的对数频率特性曲线(Bode图),并从Bode图中找出二阶系统由于的变化对其Bode图有何影响?图形有哪些变化?图形与的对应关系(在图中对应的标注出来)。程序:close allclear allclcw=0,logspace(-2,2,200);wn=0.9;tou=0.1,0.4,1.0,1.6,2.0,3.0;for j=1:6 sys=tf(wn*wn,1,2*tou(j)*wn,wn*wn);

温馨提示

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

评论

0/150

提交评论