最后6个实验答案.docx

上传人:b****6 文档编号:3259487 上传时间:2022-11-21 格式:DOCX 页数:27 大小:462.39KB
下载 相关 举报
最后6个实验答案.docx_第1页
第1页 / 共27页
最后6个实验答案.docx_第2页
第2页 / 共27页
最后6个实验答案.docx_第3页
第3页 / 共27页
最后6个实验答案.docx_第4页
第4页 / 共27页
最后6个实验答案.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

最后6个实验答案.docx

《最后6个实验答案.docx》由会员分享,可在线阅读,更多相关《最后6个实验答案.docx(27页珍藏版)》请在冰豆网上搜索。

最后6个实验答案.docx

最后6个实验答案

实验一Matlab使用方法和程序设计

 

一、实验目的

1、掌握Matlab软件使用的基本方法;

2、熟悉Matlab的数据表示、基本运算和程序控制语句

3、熟悉Matlab绘图命令及基本绘图控制

4、熟悉Matlab程序设计的基本方法

二、实验内容

1、帮助命令

使用help命令,查找sqrt(开方)函数的使用方法;

>>helpsqrt

2、矩阵运算

(1)矩阵的乘法

已知A=[12;34];B=[55;78];

求A^2*B。

>>A=[12;34];B=[55;78];

>>A^2*B

ans=

105115

229251

(2)矩阵除法

已知A=[112;496;579];

B=[121;324;583];

求A\B,A/B。

>>A=[112;496;579];

B=[121;324;583];

>>A\B

ans=

6.00008.0000-23.0000

-1.0000-2.00004.0000

-2.0000-2.000010.0000

(3)矩阵的转置及共轭转置

已知A=[5+i,2-i,1;6*i,4,9-i];

求A.',A'。

>>A=[5+i,2-i,1;6*i,4,9-i];

>>A.'

ans=

5.0000+1.0000i0+6.0000i

2.0000-1.0000i4.0000

1.00009.0000-1.0000i

>>A'

ans=

5.0000-1.0000i0-6.0000i

2.0000+1.0000i4.0000

1.00009.0000+1.0000i

(4)使用冒号选出指定元素

已知:

A=[123;456;789];

求A中第3列前2个元素;A中所有列第2,3行的元素;

>>A=[123;456;789];

>>A([1,2],3)

ans=

3

6

>>A([2,3],:

ans=

456

789

(5)方括号[]

用magic函数生成一个4阶魔术矩阵,删除该矩阵的第四列。

>>magic(4)

ans=

162313

511108

97612

414151

>>ans(:

4)=[]

ans=

1623

51110

976

41415

3、多项式

(1)求多项式

的根

(2)已知A=[1.2350.9;51.756;3901;1234]

求矩阵A的特征多项式;

求特征多项式中未知数为20时的值;

把矩阵A作为未知数代入到多项式中;

>>p=[10-2-4]

p=

10-2-4

>>roots(p)

ans=

2.0000

-1.0000+1.0000i

-1.0000-1.0000i

>>A=[1.2350.9;51.756;3901;1234]

A=

1.20003.00005.00000.9000

5.00001.70005.00006.0000

3.00009.000001.0000

1.00002.00003.00004.0000

>>poly(A)

ans=

1.0000-6.9000-77.2600-86.1300604.5500

>>polyval(ans,20)

ans=

7.2778e+004

>>P1=poly(A)

P1=

1.0000-6.9000-77.2600-86.1300604.5500

>>poly2str(P1,'A')

ans=

A^4-6.9A^3-77.26A^2-86.13A+604.55

4、基本绘图命令

(1)绘制余弦曲线y=cos(t),t∈[0,2π]

(2)在同一坐标系中绘制余弦曲线y=cos(t-0.25)和正弦曲线y=sin(t-0.5),t∈[0,2π]

>>t=0:

2*pi/100:

2*pi;

>>y=cos(t);

>>plot(t,y)

>>y1=cos(t-0.25);

>>y2=sin(t-0.5);

>>holdon

>>plot(t,y1,'r--',t,y2,'b-.')

5、基本绘图控制

绘制[0,4π]区间上的x1=10sint曲线,并要求:

(1)线形为点划线、颜色为红色、数据点标记为加号;

(2)坐标轴控制:

显示范围、刻度线;

(3)标注控制:

坐标轴名称、标题、相应文本;

>>t=0:

4*pi/200:

4*pi;

>>x1=10*sin(t);

>>plot(t,x1,'r-.+')

>>axis([0,14,-10,10])

>>title('x1=10*sin(t)')

>>xlabel('x','FontSize',18)

>>ylabel('t','FontSize',18)

6、基本程序设计

(1)编写命令文件:

计算1+2+…+n<2000时的最大n值;

>>m=0;n=0;

>>while(m<2000)

n=n+1;

m=m+n;

end

>>n=n-1

n=

62

(2)编写函数文件:

分别用for和while循环结构编写程序,求2的0到n次幂的和。

1)新建sy162.m文件,然后输入以下内容并保存在work目录下。

sum=0;

fori=0:

1:

7

sum=sum+2^i;

end

2)新建sy162w.m文件,然后输入以下内容并保存在work目录下。

a=0;

i=0;

while(i<=10)

a=a+2^i;

i=i+1;

end

(3)如果想对一个变量x自动赋值。

当从键盘输入y或Y时(表示是),x自动赋为1;当从键盘输入n或N时(表示否),x自动赋为0;输入其他字符时终止程序。

在程序编辑器中输入以下内容,并按默认设置保存为函数文件。

function[x]=abcd()

a=input('','s');

switcha

case'y',x=1;

case'Y',x=1;

case'n',x=0;

case'N',x=0;

otherwise

end

end

 

实验二控制系统分析

(一)

一、实验目的

1、掌握如何使用Matlab进行系统的时域分析

2、掌握如何使用Matlab进行系统的频域分析

3、掌握如何使用Matlab进行系统的根轨迹分析

二、实验内容

1、时域分析

(1)根据下面传递函数模型:

绘制其单位阶跃响应曲线并从图上读取最大超调量,绘制系统的单位脉冲响应、零输入响应曲线。

>>num=5*[156];

>>den=[16108];

>>sys=tf(num,den);

>>step(sys)

>>grid

>>ymax=max(y)

>>impulse(sys)

>>sys1=ss(sys)

>>x0=[3;1;2]

>>initial(sys1,x0)

(2)典型二阶系统传递函数为:

当ζ=0.7,ωn取2、4、6、8、10、12的单位阶跃响应。

建立命令文件,输入以下内容,保存在默认目录中。

wn=[2:

2:

12];z=0.7;t=0:

0.1:

12;

holdon

fori=1:

length(wn)

Gc=tf(wn(i)^2,[1,2*z*wn(i),wn(i)^2]);

step(Gc,t)

end

gridon,holdoff

(3)典型二阶系统传递函数为:

当ωn=6,ζ取0.2、0.4、0.6、0.8、1.0、1.5、2.0的单位阶跃响应。

建立命令文件,输入以下内容,保存在默认目录中。

wn=6;zetas=[0.20.40.60.81.01.52.0];t=0:

0.1:

12;

holdon

fori=1:

length(zetas)

Gc=tf(wn^2,[1,2*zetas(i)*wn,wn^2]);

step(Gc,t)

end

gridon,holdoff

2、频域分析

(1)典型二阶系统传递函数为:

当ζ=0.7,ωn取2、4、6、8、10、12的伯德图。

建立命令文件,输入以下内容,保存在默认目录中。

wn=[2:

2:

12];z=0.7;t=0:

0.1:

12;

holdon

fori=1:

length(wn)

Gc=tf(wn(i)^2,[1,2*z*wn(i),wn(i)^2]);

bode(Gc,t)

end

gridon,holdoff

(2)典型二阶系统传递函数为:

当ωn=6,ζ取0.2、0.4、0.6、0.8、1.0、1.5、2.0的伯德图。

建立命令文件,输入以下内容,保存在默认目录中。

wn=6;zetas=[0.20.40.60.81.01.52.0];t=0:

0.1:

12;

holdon

fori=1:

length(zetas)

Gc=tf(wn^2,[1,2*zetas(i)*wn,wn^2]);

bode(Gc,t)

end

gridon,holdoff

3、根轨迹分析

根据下面负反馈系统的开环传递函数,绘制系统根轨迹,并分析系统稳定的K值范围。

sys=tf(1,[1320])

rlocus(sys)

[x,y]=ginput

(1)

p=x+i*y;

K=rlocfind(sys,p)

运行结果p=0+1.4037iK=5.9115在0

 

实验三控制系统分析

(二)

一、实验目的

1、掌握如何使用Matlab进行系统的稳定性分析

2、掌握如何使用Matlab进行系统的能观测性、能控性分析

3、掌握如何使用Matlab进行离散系统分析

二、实验内容

1、系统稳定性分析

(1)代数法稳定性判据:

(用求分母多项式的根和routh函数两种方法来判定)

已知系统的开环传递函数为:

试对系统闭环判别其稳定性

1)>>clear

k=100;z=-2;p=[0-1-20];

[num,den]=zp2tf(z,p,k);

sys=tf(num,den);

p=num+den;

roots(p)

ans=

-12.8990

-5.0000

-3.1010

因为闭环特征方程的根全部为负值,所以系统是稳定的。

2)先在work目录下建立routh.m,具体函数内容请见课本附录。

然后建立.m文件,输入以下内容。

s=tf('s');

sys=100*(s+2)/(s*(s+1)*(s+20))

close_sys=feedback(sys,1)

den=close_sys.den{1}

[rtab,msg]=routh(den)

Transferfunction:

100s+200

-------------------

s^3+21s^2+20s

Transferfunction:

100s+200

--------------------------

s^3+21s^2+120s+200

den=

121120200

rtab=

1120

210

1200

00

msg=

Allelementsinrow4arezeros;

劳斯表第一列全部为正,不变号,所以系统稳定。

(2)根轨迹法判断系统稳定性:

已知一个单位负反馈系统开环传递函数为:

试在系统的闭环根轨迹图上选择一点,求出该点的增益及其系统的闭环极点位置,并判断在该点系统闭环的稳定性。

s=tf('s');

g=(s+3)/(s*(s+5)*(s+6)*(s^2+2*s+2));

gh=feedback(g,1);

rlocus(gh)

[K,poles]=rlocfind(gh)

运行结果:

Selectapointinthegraphicswindow

selected_point=

-6.3803+2.7640i

K=

509.3252

poles=

-6.4319+2.7310i

-6.4319-2.7310i

1.3488+3.0406i

1.3488-3.0406i

-2.8338

有2个闭环极点在S右半平面,系统在该点不稳定。

(3)Bode图法判断系统稳定性:

已知两个单位负反馈系统的开环传递函数分别为:

用Bode图法判断系统闭环的稳定性。

s=tf('s');

g1=2.7/(s^3+5*s^2+4*s);

g2=2.7/(s^3+5*s^2-4*s);

bode(g1)

[Gm1,Pm1,Wcg1,Wcp1]=margin(g1)

grid

figure

(2)

bode(g2)

[Gm2,Pm2,Wcg2,Wcp2]=margin(g2)

grid

2、系统能控性、能观性分析

已知连续系统的传递函数模型,

当α分别取-1,0,+1时,判别系统的能控性与能观性

当α=-1时,

num=[1-1];

den=[1102718];

[A,B,C,D]=tf2ss(num,den);

Tc=ctrb(A,B);

rank(Tc)

To=obsv(A,C);

rank(To)

运行结果

ans=

3

ans=

3

能控与能观矩阵都满秩,系统能控且能观。

当α=0,1时,与上类似。

 

实验十一古典控制系统设计---根轨迹法

一、实验目的

掌握使用根轨迹法进行控制系统设计的方法

二、实验内容

1、根据二阶系统如图所示,其中ζ=0.6,ωn=5rad/s,当有一阶跃信号作用于系统时,试计算特征量tr、tp、ts、σp。

zet=0.6;wn=5;

num=wn^2;den=[12*zet*wn0];

sys=tf(num,den)

sys_close=feedback(sys,1)

[pos,tr,ts,tp]=stepchar(sys_close,0.02)

2、根据下面负反馈系统的开环传递函数,绘制系统根轨迹,并分析系统稳定的k值范围和使系统无超调的K值范围。

sys=tf(1,[1,4,5,0])

rlocus(sys)

[x,y]=ginput(3);

p=x+i*y

K=rlocfind(s,p)

3、设单位负反馈系统的开环传递函数为:

试确定带惯的PD控制器的串联超前校正参数,使之满足:

(1)阶跃响应的超调量:

σ≤30%;

(2)阶跃响应的超调时间:

ts≤0.8s(Δ=0.02)。

KK=5;bp=0.30;ts=0.8;delta=0.02;

ng0=[256];dg0=conv([1,0],conv([1,8],[1,16]));

g0=tf(ng0,dg0);

s=bpts2s(bp,ts,delta);

[ngc,dgc]=rg_lead(ng0,dg0,s);

gc=tf(ngc,dgc)

g0c=tf(g0*gc);

b1=feedback(g0,1);

b2=feedback(5*g0c,1);

figure(4);

step(b1,'r--',b2,'b');gridon

[pos,tr,ts,tp]=stepchar(b2,delta)

 

实验十二古典控制系统设计——Bode图法

一、实验目的

掌握使用Bode图法进行控制系统设计的方法

二、实验内容

1、设单位负被控对象的传递函数为:

其设计要求:

KK=25;Pm=40;wc=2.5;

ng0=KK*[1];dg0=conv([1,0],conv([0.05,1],[0.25,1]));g0=tf(ng0,dg0);

t=[0:

0.01:

5];w=logspace(-2,2);

[ngc,dgc]=fg_lag_wc(ng0,dg0,w,wc);

gc=tf(ngc,dgc),g0c=tf(g0*gc);

b1=feedback(g0,1);b2=feedback(g0c,1);

step(b1,'r--',b2,'b',t);axis([0,5,-0.5,1.5]);gridon

figure,bode(g0,'r--',g0c,'b',w);gridon,

[gm,pm,wcg,wcp]=margin(g0c)

2、设有单位负反馈系统,其开环传递函数为:

其设计要求:

,相角裕度为50度,幅值裕度为10dB,试确定超前—滞后串联校正装置,以满足性能指标。

KK=10;delta=0.05;

ng0=[1];dg0=conv([1,0],conv([1,1],[0.5,1]));

t=[0:

0.01:

5];w=logspace(-2,2);

g0=tf(ng0,dg0);b1=feedback(KK*g0,1);

[gm,pm,wcg,wcp]=margin(KK*g0)

roots(b1.den{1})

Pm=45;wc=2.5;

[ng1,dg1]=fg_lead_pm_wc(ng0,dg0,Pm,wc,w);

gc1=tf(ng1,dg1)%超前校正控制器

g01=KK*g0*gc1;

[ng2,dg2]=fg_lag_pm(g01.num{1},g01.den{1},w,Pm);

gc2=tf(ng2,dg2)%滞后校正控制器

g02=g01*gc2;b2=feedback(g02,1);

bode(KK*g0,'r--',g02,'b',w),gridon;

[gm,pm,wcg,wcp]=margin(g02)

figure,step(b1,'r--',b2,'b',t);gridon;

[pos,tr,ts,tp]=stepchar(b2,delta)

gc=zpk(KK*gc1*gc2)

 

实验十三控制系统SIMULINK仿真

一、实验目的

学习使用SIMULINK进行系统仿真的方法

二、实验内容

1、Simulink的基本操作

(1)运行Simulink

(2)常用的标准模块和模块的操作

2、系统仿真及参数设置

(1)算法设置(Solver)

(2)工作空间设置(WorkspaceI/O)

3、使用Simulink创建系统,求解非线性微分方程

其初始值为

绘制函数的波形。

第一个积分环节initialcondition为0,第二个积分环节为2。

4、已知系统结构图如下:

图1含饱和非线性环节系统方框图

已知输入为信号电平从1~6,非线性环节的上下限为±1,仿真时间为10秒,试绘制系统的响应曲线。

5、PID控制系统的结构如图所示,试设计串联补偿器,使系统速度稳态误差小于10%,相角裕量PM=45º,并对系统进行仿真。

图2典型PID控制系统结构图

%PID校正装置的函数模型为Kp*[1+1/(Ti*S)+Td*S];在此Kp=10;假设Ti=1.50;Td=0.25

clear;

num1=400;

den1=conv([1,0],[1,30,200]);

G1=tf(num1,den1);

figure;

step(feedback(G1,1),5);

figure;

bode(G1);

grid;

Kv=10;%根据误差小于10%得来

Ti=1.50;%假定的

Td=0.25;%假定的

s=tf('s');

Gc=Kv*(Ti*Td*s*s+Ti*s+1)/(Ti*s);%通分后的PID模型

figure;

bode(G1*Gc);

grid;

figure;

step(feedback(G1*Gc,5),2.5);

G=G1*Gc;

要求速度误差小于10%,即在单位斜坡输入的响应误差小于10%。

TransferFcn

TransferFcn1

上面几乎重合的两条曲线分别为单位斜坡曲线与校正后的响应曲线,可看出误差已经很小,几乎与原曲线重合,已经满足题设要求,达到了设计PID的目的。

进一步可绘制系统波特图,验证相角裕量PM>45º。

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

当前位置:首页 > 小学教育 > 语文

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

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