matlab报告.docx

上传人:b****0 文档编号:10129104 上传时间:2023-05-23 格式:DOCX 页数:33 大小:478.02KB
下载 相关 举报
matlab报告.docx_第1页
第1页 / 共33页
matlab报告.docx_第2页
第2页 / 共33页
matlab报告.docx_第3页
第3页 / 共33页
matlab报告.docx_第4页
第4页 / 共33页
matlab报告.docx_第5页
第5页 / 共33页
matlab报告.docx_第6页
第6页 / 共33页
matlab报告.docx_第7页
第7页 / 共33页
matlab报告.docx_第8页
第8页 / 共33页
matlab报告.docx_第9页
第9页 / 共33页
matlab报告.docx_第10页
第10页 / 共33页
matlab报告.docx_第11页
第11页 / 共33页
matlab报告.docx_第12页
第12页 / 共33页
matlab报告.docx_第13页
第13页 / 共33页
matlab报告.docx_第14页
第14页 / 共33页
matlab报告.docx_第15页
第15页 / 共33页
matlab报告.docx_第16页
第16页 / 共33页
matlab报告.docx_第17页
第17页 / 共33页
matlab报告.docx_第18页
第18页 / 共33页
matlab报告.docx_第19页
第19页 / 共33页
matlab报告.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

matlab报告.docx

《matlab报告.docx》由会员分享,可在线阅读,更多相关《matlab报告.docx(33页珍藏版)》请在冰点文库上搜索。

matlab报告.docx

matlab报告

 

 

MATLAB实验报告

 

学 院:

信电学院

年级:

11级

专业班级:

自动化1班

姓名:

学号:

110410…

5.1控制系统的阶跃响应

一、实验目的

  

(1)学习控制系统的单位阶跃响应。

  

(2)记录单位阶跃响应曲线。

  (3)掌握时间响应分析的一般方法。

二、实验内容

(1)二阶系统为

2入程序,观察并记录阶跃响应曲线。

②键入damp(den),计算系统的闭环根、阻尼比、无阻尼振荡频率,并作记录键入。

记录实际测取的峰值大小ymax(tp),峰值时间tp、过渡时间ts,并与理论值相比较。

三、实验代码

clc%清屏

clearall%清除所有命令

closeall

t=[0:

.01:

15];%设置横坐标的范围以及步长

num=[10];%传递函数分子系数向量

den=[114];%传递函数分母系数向量

sys=tf(num,den);%用函数tf建立一个连续系统传递函数模型

y=step(sys,t);%用函数tf建立一个连续系统传递函数模型

damp(den)%计算系统的闭环根、阻尼比、无阻尼振荡频率。

plot(t,y,'r');%画图,颜色为红色

holdon;%图形保持

xlabel('t(s)');

ylabel('y');%表明坐标名称

gridon;%建立系统,并画出基本图形

ymax=max(y);

xm=find(y==ymax);

plot(t(xm),ymax,'ro','MarkerSize',3);%画小圆,圈出最大值

plot(t(xm)*ones(1,6),[0:

ymax/5:

ymax],'--');%过最大值点做t轴的垂线

text(0.1,1.4,strcat('t_p=',num2str(t(xm)),'s'))%指示出t_p

text(t(xm)-1,ymax+0.2,strcat('y_m_a_x=',num2str(ymax)));%求出峰值及峰值时间

yss=2.5;

dta=0.02;

x=600;

whileabs(yss-y(x))

end

t_s=x*0.01;

y_t_s=y(x);

y1=y_t_s-2.5;

text(t_s+0.3,y_t_s+0.15,'y_t_s');

plot(t_s,y_t_s,'ro','MarkerSize',3);

plot((t(xm)+4.4)*ones(1,4),[0:

y_t_s/3:

y_t_s],'--');

text(x*.01/2,0.6,strcat('t_s=',num2str(t_s),'s'))

text(t_s+3,y_t_s+0.2,strcat('yss=',num2str(y_t_s)));%求出调节时间及稳态值

annotation('doublearrow',[0.135,0.44],[0.20,0.20]);

annotation('doublearrow',[0.135,0.21],[0.35,0.35]);

plot([t_s-115],[y_t_s+0.1y_t_s+0.1],'--','Color','g');

plot([t_s-115],[y_t_s-0.05y_t_s-0.05],'--','Color','g');

text(t_s+1.5,y_t_s+0.2,'\downarrow','FontSize',18);

text(t_s+1.5,y_t_s-0.2,'\uparrow','FontSize',18);

text(t_s+1.5,y_t_s-0.2,'△=±2%','Color','m');%标出误差带

plot([t(xm)15],[ymaxymax],'--','Color','c');

plot([t(xm)15],[2.52.5],'--','Color','c');

annotation('doublearrow',[0.280.28],[0.620.84]);

e=(ymax-2.5)/2.5;

text(t(xm)+1.5,ymax-0.5,strcat('δ%=',num2str(e)));%求出超调并标注

四、阶跃响应图像:

2.修改参数,分别实现ζ=1和ζ=2的响应曲线

①m文件程序:

【change.m】

clc

clearall

closeall

num=[10];

den0=[1210];

sys0=tf(num,den0);

den1=[16.3210];

sys1=tf(num,den1);

den2=[112.6410];

sys2=tf(num,den2);

step(sys0,'r')

holdon

step(sys1,'b')

holdon

step(sys2,'g')

legend('ζ=0.36','ζ=1.00','ζ=2.00');

②图形:

五、试作出以下系统的阶跃响应,并比较与原系统响应曲线的差别与特点,作出相应的实验分析结果。

3

程序代码:

clc%清屏

clearall%清除所有命令

closeall

t=[0:

0.01:

20];%设置横坐标的范围以及步长

num1=[210];%传递函数分子系数向量

den1=[1210];%传递函数分母系数向量

sys1=tf(num1,den1);%用函数tf建立一个连续系统传递函数模型

num2=[10.510];%传递函数分子系数向量

den2=[1210];%传递函数分母系数向量

sys2=tf(num2,den2);

num3=[4];%传递函数分子系数向量

den3=[1120.5100];%传递函数分母系数向量

sys3=tf(num3,den3);%用函数tf建立一个连续系统传递函数模型

num4=[1];%传递函数分子系数向量

den4=[1210];%传递函数分母系数向量

sys4=tf(num4,den4);%用函数tf建立一个连续系统传递函数模型

step(sys1,'r')

holdon

step(sys2,'b')

holdon

step(sys3,'g')

holdon

step(sys4,'c')

holdon

legend('①','②','③','④');

xlabel('t(s)');

ylabel('y');%表明坐标名称

gridon;%建立系统,并画出基本图形

所得图形为:

六、实验分析

(1)分析系统的阻尼比和无阻尼振荡频率对系统阶跃响应的影响。

分析:

ζ=0.36时,是欠阻尼,其单位阶跃响应是“衰减震荡”;ζ=1.00时,是临界阻尼,其单位阶跃响应是“无超调、无震荡”的曲线;ζ=2.00时,是过阻尼,其单位阶跃响应也是“无超调、无震荡”的,但是上升速度比ζ=1.00时要慢。

(2)分析响应曲线的零初值、非零初值与系统模型的关系。

分析:

当传递函数的分子分母阶数相同时为非零初值,而分子阶数小于分母时为零处值。

不存在分子阶数大于分母的情况(可分解),所以不考虑。

(3)分析响应曲线的稳态值与系统模型的关系。

分析:

当传递函数的分子分母阶数相同时,稳态值为零;分子阶数小于分母时,稳态值为1。

(4)分析系统零点对阶跃响应的影响。

分析:

若系统存在右半侧零点(不稳定零点),则阶跃响应会有向下的峰值。

5.2控制系统的脉冲响应

一、实验目的

  

(1)学习控制系统的单位脉冲响应。

  

(2)记录时间响应曲线。

  (3)掌握时间响应分析的一般方法。

二、实验内容

  

(1)二阶系统为

①键入程序,观察、记录脉冲响应曲线。

②键入damp(den),计算系统的闭环根、阻尼比、无阻尼振荡频率,并作记录。

记录实际测取的峰值大小Amax(tp),峰值时间tp,过渡时间ts,并与理论值相比较。

三、实验代码

clc%清屏

clearall%清除所有命令

closeall

t=[0:

0.01:

20];

num=[4];

den=[114];

impulse(num,den);

y=impulse(num,den,t);

damp(den)

holdon;%图形保持

xlabel('t(s)');

ylabel('y(t)');%表明坐标名称

gridon;%花坐标方格

ymax=max(y);

xm=find(y==ymax);

plot(t(xm),ymax,'ro','MarkerSize',3);%画小圆,圈出最大值

plot(t(xm)*ones(1,6),[0:

ymax/5:

ymax],'--');%过最大值点做t轴的垂线

text(0.01,0.55,strcat('t_p=',num2str(t(xm)),'s'))%指示出t_p

text(t(xm),ymax+0.05,strcat('y_m_a_x=',num2str(ymax)));%求出峰值及峰值时间

yss=0;

dta=0.02;

x=500;

whileabs(yss-y(x))

end

t_s=x*0.01;

y_t_s=y(x);

y1=y_t_s;

text(t_s+0.05,y_t_s+0.1,'y_t_s');

plot(t_s,y_t_s,'ro','MarkerSize',3);

plot((t(xm)+4.3)*ones(1,4),[0:

y_t_s/3:

y_t_s],'--');%过(t_s,y_t_s)做t轴的垂线

text(x*.01/1.8,0.03,strcat('t_s=',num2str(t_s),'s'))

text(t_s+4,y_t_s+0.15,strcat('yss=',num2str(y_t_s)));%求出调节时间及稳态值

annotation('doublearrow',[0.15,0.465],[0.40,0.40]);

annotation('doublearrow',[0.15,0.2],[0.55,0.55]);

plot([t(xm)15],[ymaxymax],'--','Color','c');

plot([t(xm)15],[00],'--','Color','c');

annotation('doublearrow',[0.280.28],[0.850.42]);

e=(ymax-y_t_s)/ymax;

text(t(xm)+1.5,ymax-0.5,strcat('δ%=',num2str(e)));%求出超调并标注

四、求出超调并标注出超调并标注脉冲响应图像

2.修改参数,分别实现ζ=1和ζ=2的响应曲线,并作记录。

①m文件程序:

【imchange.m】

clc

clearall

closeall

num=[10];

den0=[1210];

sys0=tf(num,den0);

den1=[16.3210];

sys1=tf(num,den1);

den2=[112.6410];

sys2=tf(num,den2);

impulse(sys0,'r')

holdon

impulse(sys1,'b')

holdon

impulse(sys2,'g')

legend('ζ=0.36','ζ=1.00','ζ=2.00')

②图形:

五、试作出以下系统的脉冲响应,并比较与原系统响应曲线的差别

与特点,作出相应的实验分析结果。

1

2

程序代码为:

clc%清屏

clearall%清除所有命令

closeall

t=[0:

0.01:

20];

num1=[4];

den1=[114];

num2=[10];

den2=[1210];

impulse(num1,den1);

holdon

impulse(num2,den2);

xlabel('t(s)');

ylabel('y(t)');%表明坐标名称

legend('①','②')

图形为:

六、实验分析

(1)分析系统的阻尼比和无阻尼振荡频率对系统脉冲响应的影响。

(3)分析:

当0<ζ<1时,系统处于衰减震荡,且ζ越大,超调越小,上升时间越长。

而ζ>1时,系统响应为无震荡、无超调。

系统的无阻尼振荡频率越大,反应越快。

(2)分析响应曲线的零初值、非零初值与系统模型的关系。

分析:

当传递函数的分子分母阶数相同时为非零初值,而分子阶数小于分母时为零处值。

不存在分子阶数大于分母的情况(可分解),所以不考虑。

(3)分析响应曲线的稳态值与系统模型的关系。

分析:

当传递函数的分子分母阶数相同时,稳态值为零;分子阶数小于分母时,稳态值为1。

(4)分析系统零点对阶跃响应的影响。

分析:

若系统存在右半侧零点(不稳定零点),则脉冲响应会有向下的峰值。

5.3控制系统的根轨迹作图

一、实验目的

  

(1)直观了解LTI系统的根轨迹分析法。

  

(2)加深对连续LTI系统的根轨迹分析法的理解。

  (3)了解MATLAB相关函数的调用格式及作用。

  (4)加深对连续LTI系统的时域分析的基本原理与方法的理解和掌握。

二、知识提示

  根轨迹法是分析和设计线性定常系统常用的图解方法之一,利用它可以了解和分析系统的性能,尤其是对系统进行定性的分析。

三、涉及的MATLAB函数

  printsys(num,den,′s′):

显示或打印输出由num和den所确定的传递函数。

  rlocus(num,den):

计算并画出由num和den所确定的系统的根轨迹。

四、实验内容与方法

 1.验证性实验

 

(1)已知一个单位反馈系统的开环传递函数为

取k=1。

试绘制其根轨迹。

执行下面的程序:

clc%清屏

clearall%清除所有命令

closeall

num=[1,1,0];%传递函数分子系数向量

den=[1,5,2,0,0];%传递函数分母系数向量

printsys(num,den,'s');%显示或打印输出由num和den所确定的传递函数。

rlocus(num,den);%计算并画出由num和den所确定的系统的根轨迹。

xlabel('实轴');

ylabel('虚轴');%表明坐标名称

%gridon;%花坐标方格

所得根轨迹图为:

(2)已知一个单位反馈系统的开环传递函数为:

取k=1。

试绘制其根轨迹。

执行下面的程序:

clc%清屏

clearall%清除所有命令

closeall

num1=[1,1];%H1(s)的传递函数分子系数向量

den1=[1,-1,0];%H1(s)的传递函数分母系数向量

num2=1;%H2(s)的传递函数分子系数向量

den2=[1,4,16];%H2(s)的传递函数分母系数向量

[numden]=series(num1,den1,num2,den2);%用于将H1(s)和H2(s)两个线性模型串联

printsys(num,den,'s');%显示或打印输出由num和den所确定的传递函数。

rlocus(num,den);%计算并画出由num和den所确定的系统的根轨迹

xlabel('实轴');

ylabel('虚轴');%表明坐标名称

所得根轨迹图为:

(3)已知一个单位反馈系统的开环传递函数为

试分别绘制其根轨迹,并比较零极点对系统性能的影响。

执行下面的程序:

clc%清屏

clearall

closeall%清除所有命令

num1=[1];%H1(s)的传递函数分子系数向量

den1=[110];%H1(s)的传递函数分母系数向量

figure;%建立一个画图窗口

rlocus(num1,den1);%计算并画出由num1和den1所确定的系统的根轨迹

num2=1;%H2(s)的传递函数分子系数向量

den2=[1321];%H2(s)的传递函数分母系数向量

figure;

rlocus(num2,den2);%计算并画出由num2和den2所确定的系统的根轨迹

num3=[132.5];%H3(s)的传递函数分子系数向量

den3=den1;%H3(s)的传递函数分母系数向量

figure;

rlocus(num3,den3);%计算并画出由num3和den3所确定的系统的根轨迹

  其根轨迹分别如图5-6、图5-7和图5-8所示。

图5-6

图5-7

图5-8

5.4控制系统的波特图

一、实验目的

(1)利用计算机作出开环系统的波特图。

(2)观察并记录控制系统的开环频率特性。

(3)控制系统的开环频率特性分析。

二、实验步骤

  

(1)开机执行程序:

  c:

\matlab\bin\matlab.exe

  (或用鼠标双击图标)进入MATLAB命令窗口:

“CommandWindow”。

  

(2)相关MATLAB函数:

   bode(num,den)

  bode(num,den,w)

  [mag,phase,w]=bode(num,den)

例如,系统的开环传递函数

作图程序为:

clc

clearall

closeall

num=[10];

den=[1210];

w=logspace(-1,1,32);%w范围和点数n

bode(num,den,w);

xlabel('lg(w)');

ylabel('A/a(w)');%表明坐标名称

gridon;%画网格线

所得图形为:

logspace(d1,d2,n)将变量w作对数等分。

命令中d1、d2为10d1~10d2之间的变量范围,n为等分点数。

semilogx(x,y)半对数绘图命令、函数格式与plot()相同。

例如,已知传递函数:

作对数幅频特性。

程序为:

clc

clearall

closeall

num=[10];

den=[1210];

bode(num,den);

w=logspace(-1,1,32);%w范围和点数n

mag=10./((i*w).^2+2.*(i*w)+10);%幅频特性

l=20*log(abs(mag));%对数幅频特性

semilogx(w,l);%半对数作图

gridon;%画网格线

%margin(num,den);

[Mg,Pc,wg,wc]=margin(num,den)%返回变量Mg为幅值裕度,Pc为相位裕度,幅值裕度Mg对应的频率为wg,相位裕度Pc对应的频率为wc。

所得图形为:

二、实验内容

(1)

取T=0.1,&=0.1。

作图程序代码为:

clc

clearall

closeall

num=[1];

den=[0.010.021];

w=logspace(-1,1,32);%w范围和点数n

gridon;%画网格线

margin(num,den);%得到系统的增益和相位裕度,并绘制出波特图

[Mg,Pc,wg,wc]=margin(num,den)%返回变量Mg为幅值裕度,Pc为相位裕度,幅值裕度Mg对应的频率为wg,相位裕度Pc对应的频率为wc。

text(14.0003,140,strcat('\uparroww=','wc'))%用上箭头,指示出wc

text(1,100,strcat('\rightarroww=','0db'))

text(12.0003,100,strcat('\leftarrow'))

text(14.0003,100,strcat('\rightarroww=','40db'))%表示出各个段的斜率

xlabel('lg(w)');

ylabel('A/a(w)');%表明坐标名称

所得图形为:

(2)

作图程序代码为:

clc

clearall

closeall

num=31.6;

den=[0.0010.1110];

sys=tf(num,den);

w=logspace(-2,8,400);%w范围和点数n

bode(sys,w);

y=bode(sys,w);

xlabel('lg(w)');

ylabel('20lgA(w)');

gridon;%画网格线

margin(sys);%得到系统的增益和相位裕度,并绘制出波特图

[Mg,Pc,wg,wc]=margin(sys)%返回变量Mg为幅值裕度,Pc为相位裕度,幅值裕度Mg对应的频率为wg,相位裕度Pc对应的频率为wc。

text(2,80,strcat('-20'));

text(50,40,strcat('-40'));

text(800,0,strcat('-60'));%标注斜率

text(wg,-20,strcat('\leftarrowwg=',num2str(wg)));

text(wc,-50,strcat('\leftarrowwc=',num2str(wc)));%标注截止频率和穿越频率

holdon

w=logspace(-2,1,400);

a=find(w==1)

y=a+(-20)*w;

plot(w,y,'r');

K=num;

b=20*log10(K);

w1=[.001,.5,1,5,10,20,50,100,300,10000];%定义渐近线的定义域

mag1=b-20*log10(w1(1:

5));%求解幅值渐近线方程

mag2=b+20-40*log10(w1(5:

8));

mag3=b+60-60*log10(w1(8:

end));%求解相位渐近线方程

pha1=-90;

pha2=-90-45*log10(w1(3:

5));

pha3=-45-90*log10(w1(5:

9));

pha4=-267-.2*log10(w1(9:

end));%绘图

margin(sys);%稳定裕度绘图

holdon

semilogx(w1(1:

3),[pha1,pha1,pha1],'c--')%绘制相角渐近线

semilogx(w1(3:

5),pha2,'c--')

semilogx(w1(5:

9),pha3,'c--',w1(9:

end),pha4,'c--')text(1.5,-180+Pc/2,strcat('\gamma_c=',num2str(wc),'\rightarrow'));

text(wg,-130,strcat('\leftarrowwg=',num2str(wg)));h=get(gcf,'Children');%获取当前图形的子句柄set(gcf,'CurrentAxes',h(3))%将幅值特性图设置为当前

if~ishold

holdon

end

semilogx(w1(1:

5),mag1,'c--')%绘制幅值渐近线

se

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2