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

下载本文档

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

文档简介

实验一MATLAB环境的熟悉与基本运算一、实验目的及规定1.熟悉MATLAB的开发环境;2.掌握MATLAB的一些常用命令;3.掌握矩阵、变量、表达式的输入方法及各种基本运算。二、实验内容1.熟悉MATLAB的开发环境:①MATLAB的各种窗口:命令窗口、命令历史窗口、工作空间窗口、当前程径窗口。②途径的设立:建立自己的文献夹,加入到MATLAB途径中,并保存。设立当前程径,以方便文献管理。2.学习使用clc、clear,了解其功能和作用。3.矩阵运算:已知:A=[12;34];B=[55;78];求:A*B、A.*B,并比较结果。4.使用冒号选出指定元素:已知:A=[123;456;789];求:A中第3列前2个元素;A中所有列第2,3行的元素;5.在MATLAB的命令窗口计算:1)2)6.关系及逻辑运算1)已知:a=[5:1:15];b=[12887101211131415],求:y=a==b,并分析结果2)已知:X=[01;10];Y=[00;10],求:x&y+x>y,并分析结果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('Inputparametermustbeapositiveinteger!')提醒: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)假如输入矩阵的不是方阵,输出显示’thesizeofmatrixXmustbeN-by-Nmatrix’(3)显示行、列和及其对角线求和后的值,并判断其和是否相同。若不同,显示‘No’,相同显示‘Yes’。三、实验报告规定在M文献编辑器中,编写程序代码并调试ﻬ实验三MATLAB的图形绘制一、实验目的及规定:1.掌握MATLAB绘图的基本方法,熟悉各种绘图函数的使用;2.掌握图形的修饰方法和标注方法;3.了解MATLAB中图形窗口的操作。二、实验内容:x=[-2π,2π],y1=sinx、y2=cosx、y3=sin2x、y4=cos2x①用MATLAB语言分四个区域分别绘制的曲线,并且对图形标题及横纵坐标轴进行标注(如下图所示)。图2四分区绘制曲线②另建一个窗口,不分区,用不同颜色、线型绘出四条曲线,并标注图例注解。图3同一窗口绘制多条曲线③绘制三维曲线:三、实验报告规定:写出相应的的程序及上机结果。实验四控制系统的模型及其转换一、实验目的及规定1、掌握建立控制系统模型的函数及方法;2、掌握控制系统模型间的转换方法及相关函数;3、熟悉控制系统模型的连接方法;4、掌握典型系统模型的生成方法。二、实验内容1、已知两个传递函数分别为:①在MATLAB中分别用传递函数、零极点表达;②在MATLAB中分别求出通过反馈、串联、并联后得到的系统模型;2、系统的模型为试建立系统的传递函数模型。3、已知单输入双输出系统的零极点模型建立系统的零极点模型。4.控制系统模型的转换4.1将2的模型转换为零极点模型4.2将3的模型转换为传递函数模型三、实验报告规定写出程序及上机的结果。

实验五SIMULINK基本操作一、实验目的学会SIMULINK仿真基本操作二、实验内容1、打开SimulinkLibraryBrowser窗口,练习功能模块的基本操作。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=1000

Hz。保存为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=[12;34];B=[55;78];求:A*B、A.*B,并比较结果。程序:A*BA.*B结果:192151043472132结果分析:*表达矩阵相乘,而.*表达矩阵的各元素相应相乘4.使用冒号选出指定元素:已知:A=[123;456;789];求:A中第3列前2个元素;A中所有列第2,3行的元素;程序:A(1:2,3)A(2:3,:)结果:345667895.在MATLAB的命令窗口计算:1) 2)程序:f=sin(2*pi)(89^(1/2)+55*0.4)/4.5结果:f=-2.4493e-016ans=6.98536.关系及逻辑运算1)已知:a=[5:1:15];b=[12887101211131415],求:y=a==b,并分析结果程序:y=a==b结果:y=00010100111结果分析:2)已知:X=[01;10];Y=[00;10],求:x&y+x>y,并分析结果程序:X&Y+X>Y结果:0110结果分析:7.文献操作1)将0到1000的所有整数,写入到D盘下的data.txt文献程序:x=[0:1:1000]结果:savedata.txtx-ascii–double2)读入D盘下的data.txt文献,并赋给变量num程序:num=load(‘data.txt’)8.符号运算1)对表达式f=x3-1

进行因式分解程序:symsxf=x^3-1factor(f)结果:ans=(x-1)*(x^2+x+1)2)对表达式f=(2x2*(x+3)-10)*t,分别将自变量x和t的同类项合并程序:symsxt>>f=(2*(x^2)*(x+3)-10)*t;>>collect(f,x)>>collect(f,t)结果:ans=2*t*x^3+6*t*x^2-10*tans=(2*x^2*(x+3)-10)*t3)求程序:symsxz>>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)%UNTITLED2Summaryofthisfunctiongoeshere%Detailedexplanationgoesheren=input('pleaseinputn:');s=0forn=0:1:nx=2*n+1;s=s+x;end结果:pleaseinputn:5s=362.编写分段函数的函数文献,存放于文献ff.m中,并求,,的值。程序:function[y]=WFSSY22(x)%UNTITLED5Summaryofthisfunctiongoeshere%Detailedexplanationgoesherex=input('pleaseinputx:');y=0;ifx<0y=0;elseifx<1y=x;elseifx<=2y=2-x;elsey=0end结果:pleaseinputx:-3ans=0pleaseinputx:2^(1/2)ans=0.5858pleaseinputx:infy=0ans=03.用for循环语句实现编写一个求n阶乘的函数文献1、函数文献设计:设计一个函数文献实现一个阶乘运算,并设计程序调用该函数。为保证函数的通用性,当输入负数或小数时,显示犯错提醒:disp('Inputparametermustbeapositiveinteger!')提醒:fix(x)对零方向取整数ceil(x)对+方向取整数round(x)四舍五入取整数程序:function[y]=WFSSY23(n)%UNTITLED3Summaryofthisfunctiongoeshere%Detailedexplanationgoesherex=input('pleaseinputx:');ifx<0|(fix(x)~=x)disp('Inputparametermustbeapositiveinteger!');endy=1;forx=1:1:xy=y*x;end结果:pleaseinputx:3ans=6pleaseinputx:4ans=244.找到一个n!>10100的值(运用上题的n阶乘函数文献)程序:function[y]=WFSSY24(n)%UNTITLED4Summaryofthisfunctiongoeshere%Detailedexplanationgoesherex=input('pleaseinputx:');ifx<0|(fix(x)~=x)disp('Inputparametermustbeapositiveinteger!');endy=1;forx=1:1:xy=y*x;endify>10^100y;elsedisp('n!<10^100!');end结果:pleaseinputx:5ans=120pleaseinputx:9999n!>10^100!ans=Inf5.已知一维数组A=[2,4,5,8,10]、B=[4,9,6,7,4],用for循环语句实现,求和函数可用sum()程序:function[s,c]=WFSSY25(i,n)%UNTITLED2Summaryofthisfunctiongoeshere%DetailedexplanationgoeshereA=[2,4,5,8,10];B=[4,9,6,7,4];n=input('pleaseinputn:');fori=1:1:nc=A(i)*B(n-i+1);ends=sum(c)end结果:pleaseinputn:3s=206.编写验证魔方矩阵的函数文献,输出规定如下:(1)假如输入矩阵的维数小于3,输出显示’error’(2)假如输入矩阵的不是方阵,输出显示’thesizeofmatrixXmustbeN-by-Nmatrix’(3)显示行、列和及其对角线求和后的值,并判断其和是否相同。若不同,显示‘No’,相同显示‘Yes’。程序:function[b,m,n,c,d,p,e,f,j,h,i]=WFSSY26(A)%UNTITLED3Summaryofthisfunctiongoeshere%DetailedexplanationgoeshereA=input('EntermatrixA=>');b=ndims(A);[m,n]=size(A);ifb<3disp('error');endifm~=ndisp('thesizeofmatrixXmustbeN-by-Nmatrix');endc=sum(A,1);d=sum(A,2);p=diag(A);e=diag(fliplr(A));f=sum(c)/m;g=sum(d)/n;h=sum(p);i=sum(e);iff==g;ifh==iiff==hdisp('Yes')elsedisp('No')endelsedisp('No')endelsedisp('No')end结果:EntermatrixA=>[17241815235714164613202210121921311182529]errorYesans=2EntermatrixA=>[17245815235714164613202210121921311182529]errorNoans=2实验三MATLAB的图形绘制一、实验目的及规定:1.掌握MATLAB绘图的基本方法,熟悉各种绘图函数的使用;2.掌握图形的修饰方法和标注方法;3.了解MATLAB中图形窗口的操作。二、实验内容:x=[-2π,2π],y1=sinx、y2=cosx、y3=sin2x、y4=cos2x①用MATLAB语言分四个区域分别绘制的曲线,并且对图形标题及横纵坐标轴进行标注。程序:closeallclcx=[-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*pi2*pi-11])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)');gridon;subplot(2,2,2)axis([-2*pi2*pi-11])plot(x,y2);axis([-2*pi2*pi-11])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)');gridon;subplot(2,2,3)axis([-2*pi2*pi-11])plot(x,y3);axis([-2*pi2*pi-11])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)');gridon;subplot(2,2,4)axis([-2*pi2*pi-11])plot(x,y4);axis([-2*pi2*pi-11])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)');gridon;结果:②另建一个窗口,不分区,用不同颜色、线型绘出四条曲线,并标注图例注解。程序:closeallclcx=[-2*pi:pi/100:2*pi];y1=sin(x);y2=cos(x);y3=sin(2*x);y4=cos(2*x);holdonplot(x,y1,'r-');plot(x,y2,'m--');plot(x,y3,'k-.');plot(x,y4,'b:');legend('sin(x)','cos(x)','sin(2x)','cos(2x)')gridon;结果:③绘制三维曲线:程序:closeallclct=[0:pi/100:20*pi];x=sin(t);y=cos(t);z=t.*x.*y;plot3(x,y,z);结果:实验五SIMULINK基本操作一、实验目的学会SIMULINK仿真基本操作。实验内容1、打开SimulinkLibraryBrowser窗口,练习功能模块的基本操作。2、通过示波器观测1MHz,幅度为15mV

的正弦波和100KHz,幅度为5mV

的正弦波相乘的结果。写

出数学表达式。通过使用三踪示波器同时观测1MHz、100KHz

正弦波以及相乘的结果。注意设立仿真参

数和示波器的扫描参数和幅度显示参数。程序:参数设立:Amplitude1:15Amplitude2:5Frequency1(rad/sec):6280000Frequency2(rad/sec):628000Sampletime1,2:0.000001结果:3、系统开环传递函数,求系统单位负反馈闭环单位阶跃响应曲线。程序:结果:学习构建SIMULINK

子系统。构建一个子系统,使得它具有将输入信号m(t)(如一个100Hz

正弦波)和一个常数C

相加后再和一个1000Hz

的幅度为A

的正弦波相乘的功能:y(t)=A(m(t)+C)

sin

(2*pi*f*t)

,其中f=1000

Hz。保存为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:clearallclcnum1=[0,1];den1=[3,1];G1=tf(num1,den1)num2=[0,2];den2=[3,1,0];G2=tf(num2,den2)结果1:1-------G1=3s+12---------G2=3s^2+s程序2:clearallclcnum1=[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:clearallclcnum1=[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-----------------9s^3+6s^2+s程序2:clearallclcnum1=[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=3s^2+7s+2-----------------9s^3+6s^2+s程序3:clearallclcnum1=[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=3s^2+s---------------------9s^3+6s^2+s-2程序4:clearallclcnum1=[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=3s^2+s---------------------9s^3+6s^2+s+22、系统的模型为试建立系统的传递函数模型。程序:clearallclcnum=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=4s^3+32s^2+72s+48-----------------------------------------------------s^7+6s^6+14s^5+21s^4+24s^3+17s^2+5s3、已知单输入双输出系统的零极点模型建立系统的零极点模型。程序:clearallclcz={[-12],[-5,-3]};p=[-3,-4,-5];k=[3,4];G=zpk(z,p,k)结果:G=Frominput1tooutput:3(s+12)-----------------(s+3)(s+4)(s+5)Frominput2tooutput:4(s+5)(s+3)-----------------(s+3)(s+4)(s+5)4.控制系统模型的转换4.1将2的模型转换为零极点模型程序:clearallclcnum=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(s^2+0.09584s+1.722)4.2将3的模型转换为传递函数模型程序:clearallclcz={[-12],[-5,-3]};p=[-3,-4,-5];k=[3,4];G=zpk(z,p,k);G1=tf(G)结果:G1=Frominput1tooutput:3s+36------------------------s^3+12s^2+47s+60Frominput2tooutput:4s^2+32s+60------------------------s^3+12s^2+47s+60三、实验总结与体会实验六控制系统的时域分析实验目的运用MATLAB进行控制系统时域分析,涉及典型响应、判断系统稳定性和分析系统的动态特性;实验内容(一)稳定性1.系统传函为,试判断其稳定性。程序:clearallclcnum=[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(dc{1},'s');den=[1,6,6,7,11,8];p=roots(den)结果:G=3s^4+2s^3+5s^2+4s+6-------------------------------------s^5+3s^4+4s^3+2s^2+7s+2p=-5.0058+0.0000i0.4208+1.1540i0.4208-1.1540i-0.9179+0.4656i-0.9179-0.4656i稳定性:系统有正实部的特性根,故该系统不稳定。2.用Matlab求出的极点,判断稳定性。程序:clearallclcnum=[1,2,2];den=[1,7,3,5,2];[z,p,k]=tf2zp(num,den);s=p结果:s=-6.6553+0.0000i0.0327+0.8555i0.0327-0.8555i-0.4100+0.0000i稳定性:系统有正实部的特性根,故该系统不稳定。(二)阶跃响应典型二阶系统:规定:1)在Matlab环境下,编程绘制出当Wn=6,时,二阶系统的单位阶跃响应曲线并分析的变化对控制系统输出的影响;程序:clccloseallclearallt=linspace(0,20,200)';omega=6;omega2=omega^2;zuni=[0.1,0.2,0.3,0.4,1.2];num=omega2;fork=1:5den=[12*zuni(k)*omegaomega2];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时并不会改变阶跃响应的振荡频率;而当>1时,阶跃响应曲线不再振荡,系统过阻尼。在Matlab环境下,编程绘制出,Wn=2、4、6、8、10、12时,系统的单位阶跃响应曲线并说明Wn的变化对系统输出有何影响。程序:clccloseallclearallt=linspace(0,20,200)';omega=[2,4,6,8,10,12];zuni=0.7;omega2=omega.^2;fork=1:6num=omega2(k);den=[12*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用编程方式求二阶系统阶跃响应的峰值时间,上升时间,调整时间,超调量。程序:closeallclearallclcnum=[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;whiley(n)<Cn=n+1;endrisetime=t(n)i=length(t);while(y(i)>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框图:参数设立:Steptime1,2:0Timedely:0.3结果:超调量:%20.5上升时间:0.134峰值时间:0.208稳态误差:0.01三、实验总结与体会实验七控制系统的频域分析一、实验目的1.运用计算机作出开环系统的波特图2.观测记录控制系统的开环频率特性3.控制系统的开环频率特性分析二、实验内容:1、绘制典型二阶系统的Bode图规定:在Matlab环境下,认为参变量,编程绘制该系统的对数频率特性曲线(Bode图),并从Bode图中找出二阶系统由于的变化对其Bode图有何影响?图形有哪些变化?图形与的相应关系(在图中相应的标注出来)。程序:closeallclearallclcw=[0,logspace(-2,2,200)];wn=0.9;tou=[0.1,0.4,1.0,1.6,2.0,3.0];forj=1:6sys=tf([wn*wn],[1,2*tou(j)*wn,wn*wn]);bode(sys,w);holdon;endgtext('tou=0.1');gtext('tou=0.4');gtext('tou=1.0');gtext('tou=1.6');gtext('tou=2.0');gtext('tou=3.0');结果:分析:2、某控制系统的开环传递函数为规定:在Matlab环境下,编程绘制该系统的开环Bode图,并通过Bode图判断该闭环系统的稳定性。若闭环系统稳定,则从图中求出系统的幅值裕度Kg、相位裕度。程序:closeallclearallclcnum=[42];den=conv(conv([1,0],[1,0.6]),conv([1,10],[1,60]));G=tf(num,den)w=logspace(0,4,50);bode(G,w);grid;[Gm,Pm,Wcg,Wcp]=margin(G)结果:Gm=77.3171Pm=78.4234Wcg=2.2580Wcp=0.11463、某控制系统的开环传递函数为:规定:绘制开环系统的nyquist图,并判断闭环系统的稳定性;求出系统的单位冲激响应;程序:clos

温馨提示

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

评论

0/150

提交评论