CAD实验.docx

上传人:b****5 文档编号:12390470 上传时间:2023-04-18 格式:DOCX 页数:39 大小:783.96KB
下载 相关 举报
CAD实验.docx_第1页
第1页 / 共39页
CAD实验.docx_第2页
第2页 / 共39页
CAD实验.docx_第3页
第3页 / 共39页
CAD实验.docx_第4页
第4页 / 共39页
CAD实验.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

CAD实验.docx

《CAD实验.docx》由会员分享,可在线阅读,更多相关《CAD实验.docx(39页珍藏版)》请在冰豆网上搜索。

CAD实验.docx

CAD实验

控制系统计算机辅助设计实验

班级:

自动化0801

姓名:

李爽

学号:

20082353

班级:

自动化0801姓名:

李爽学号:

20082353

一、实验教学目标与基本要求

上机实验是本课程重要的实践教学环节。

实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的实验手段与实践技能,掌握应用MATLAB/Simulink求解控制问题的方法,培养学生分析问题、解决问题、应用知识的能力和创新精神,全面提高学生的综合素质。

通过对MATLAB/Simulink进行求解,基本掌握常见控制问题的求解方法与命令调用,更深入地认识和了解MATLAB语言的强大的计算功能与其在控制领域的应用优势。

二、题目及解答

第一部分:

MATLAB必备基础知识、控制系统模型与转换、线性控制系统的计算机辅助分析:

1.

编写rossler.m文件:

functiondx=rossler(t,x)

dx=[-x

(2)-x(3);x

(1)+0.2*x

(2);0.2+(x

(1)-5.7)*x(3)];

主函数:

>>x0=[0;0;0];

[t,y]=ode45('rossler',[0,100],x0);

plot3(y(:

1),y(:

2),y(:

3)),grid

>>plot3(y(:

1),y(:

2),y(:

3)),grid

>>plot(y(:

1),y(:

2)),grid

所的图像:

三维相轨迹(下图)

xoy平面投影

 

2.

编写c2exmobj.m文件:

functiony=c2exmobj(x)

y=x

(1)^2-2*x

(1)+x

(2);

编写c2exmcon.m文件:

function[c,ce]=c2exmcon(x)

ce=[];

c=[4*x

(1)^2+x

(2)^2-4];

主函数为:

A=[];B=[];Aeq=[];Beq=[];xm=[0;0];xM=[];x0=[0;0];

ff=optimset;ff.Tolx=1e-10;ff.TolFun=1e-20;

x=fmincon('c2exmobj',x0,A,B,Aeq,Beq,xm,xM,'c2exmcon',ff)

运行结果:

Warning:

Trust-region-reflectivemethoddoesnotcurrentlysolvethistypeofproblem,

usingactive-set(linesearch)instead.

>Infminconat422

Optimizationterminated:

first-orderoptimalitymeasurelessthanoptions.TolFun

andmaximumconstraintviolationislessthanoptions.TolCon.

Activeinequalities(towithinoptions.TolCon=1e-006):

lowerupperineqlinineqnonlin

21

x=

1.0000

0

3.

(a).程序代码为:

>>s=tf('s');

G=(s^3+4*s+2)/(s^3*(s^2+2)*((s^2+1)^3+2*s+5))

运行结果为:

Transferfunction:

s^3+4s+2

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

s^11+5s^9+9s^7+2s^6+12s^5+4s^4+12s^3

(b).程序代码为:

>>z=tf('z',0.1);

H=(z^2+0.568)/((z-1)*(z^2-0.2*z+0.99))

运行结果为:

Transferfunction:

z^2+0.568

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

z^3-1.2z^2+1.19z-0.99

Samplingtime:

0.1

4.

将方程两边进行拉式变换后可得传递函数,代码如下:

>>tf('s');

G=2/(s^3+13*s^2+4*s+5)

Transferfunction:

2

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

s^3+13s^2+4s+5

转换为状态空间方程为:

>>G1=ss(G)

a=

x1x2x3

x1-13-1-1.25

x2400

x3010

b=

u1

x10.5

x20

x30

c=

x1x2x3

y1001

d=

u1

y10

Continuous-timemodel.

转换为零极点模型为:

>>G2=zpk(G)

Zero/pole/gain:

2

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

(s+12.72)(s^2+0.2836s+0.3932)

5.

如题可设采样时间为0.1s,代码如下:

>>z=tf('z',0.1);

H=(z+2)/(z^2+z+0.16)

运行结果为:

Transferfunction:

z+2

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

z^2+z+0.16

Samplingtime:

0.1

6.

编写feedback.m函数:

functionH=feedback(G1,G2,key)

ifnargin==2;key=-1;end,H=G1/(sym

(1)-key*G1*G2);H=simple(H);

代码如下:

symsJKpKis;

G=(s+1)/(J*s^2+2*s+5);Gc=(Kp*s+Ki)/s;

GG=feedback(G*Gc,1);G1=collect(GG,s)

运行结果为:

G1=(s+1)*(Kp*s+Ki)/(J*s^3+(Kp+2)*s^2+(Ki+Kp+5)*s+Ki)

7.

(a):

代码如下:

>>s=tf('s');G=(211.87*s+317.64)/(s+20)/(s+94.34)/(s+0.1684);

Gc=(169.6*s+400)/s/(s+4);H=1/(0.01*s+1);GG=feedback(G*Gc,H)

运行结果为:

Transferfunction:

359.3s^3+3.732e004s^2+1.399e005s+127056

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

0.01s^6+2.185s^5+142.1s^4+2444s^3+4.389e004s^2+1.399e005s+127056

状态方程如下:

>>ss(GG)

a=

x1x2x3x4x5x6

x1-218.5-111.1-29.83-16.74-6.671-3.029

x212800000

x30640000

x40032000

x5000800

x6000020

b=

u1

x14

x20

x30

x40

x50

x60

c=

x1x2x3x4x5x6

y1001.0973.5591.6680.7573

d=

u1

y10

Continuous-timemodel.

零极点模型转换如下:

>>zpk(GG)

Zero/pole/gain:

35933.152(s+100)(s+2.358)(s+1.499)

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

(s^2+3.667s+3.501)(s^2+11.73s+339.1)(s^2+203.1s+1.07e004)

 

(b).程序代码如下:

可先设系统采样周期为0.1s

>>z=tf('z',0.1);G=(35786.7*z^2+108444*z^3)/(4*z+1)/(20*z+1)/(1+74.04*z);

Gc=z/(1-z);H=z/(0.5-z);GG=feedback(G*Gc,H)

运行结果为:

Transferfunction:

-108444z^5+1.844e004z^4+1.789e004z^3

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

1.144e005z^5+2.876e004z^4+274.2z^3+782.4z^2+47.52z+0.5

Samplingtime:

0.1

状态方程转换如下:

>>ss(GG)

a=

x1x2x3x4x5

x1-0.2515-0.00959-0.1095-0.05318-0.01791

x20.250000

x300.25000

x4000.12500

x50000.031250

b=

u1

x11

x20

x30

x40

x50

c=

x1x2x3x4x5

y10.39960.63490.10380.050430.01698

d=

u1

y1-0.9482

Samplingtime:

0.1

Discrete-timemodel.

零极点模型转化如下:

>>zpk(GG)

Zero/pole/gain:

-0.94821z^3(z-0.5)(z+0.33)

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

(z+0.3035)(z+0.04438)(z+0.01355)(z^2-0.11z+0.02396)

Samplingtime:

0.1

 

8.

程序代码如下:

s=tf('s');c1=feedback(1/(s+1)*s/(s^2+2),(4*s+2)/(s+1)^2);c2=feedback(1/s^2,50);

c3=feedback(c1*c2,(s^2+2)/(s^3+14));G=3*c3;

G

运行结果为:

Transferfunction:

3s^6+6s^5+3s^4+42s^3+84s^2+42s

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

s^10+3s^9+55s^8+175s^7+300s^6+1323s^5+2656s^4+3715s^3+7732s^2+5602s+1400

9.

程序代码如下:

>>s=tf('s');

G=(s+1)^2*(s^2+2*s+400)/(s+5)^2/(s^2+3*s+100)/(s^2+3*s+2500);

G1=c2d(G,0.01),

G2=c2d(G,0.1),

G3=c2d(G,1)

运行结果如下:

Transferfunction:

4.716e-005z^5-0.0001396z^4+9.596e-005z^3+8.18e-005z^2-0.0001289z+4.355e-005

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

z^6-5.592z^5+13.26z^4-17.06z^3+12.58z^2-5.032z+0.8521

Samplingtime:

0.01

Transferfunction:

0.0003982z^5-0.0003919z^4-0.000336z^3+0.0007842z^2-0.000766z+0.0003214

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

z^6-2.644z^5+4.044z^4-3.94z^3+2.549z^2-1.056z+0.2019

Samplingtime:

0.1

Transferfunction:

8.625e-005z^5-4.48e-005z^4+6.545e-006z^3+1.211e-005z^2-3.299e-006z+1.011e-007

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

z^6-0.0419z^5-0.07092z^4-0.0004549z^3+0.002495z^2-3.347e-005z+1.125e-007

Samplingtime:

1

绘制曲线如下:

>>subplot(221),step(G)

subplot(222),step(G1)

subplot(223),step(G2)

subplot(224),step(G3)

图像为:

10.

(a)程序代码如下:

>>s=tf('s');G=1/(s^3+2*s^2+s+2);eig(G)

运行结果如下:

ans=

-2.0000

-0.0000+1.0000i

-0.0000-1.0000i

可得系统为临界稳定

(b)程序代码如下:

>>num=1;den=[63211];G=tf(num,den);eig(G)

运行结果为:

ans=

-0.4949+0.4356i

-0.4949-0.4356i

0.2449+0.5688i

0.2449-0.5688i

可得有一对共轭复根在右半平面,所以系统不稳定。

(c)程序代码如下:

>>num=1;den=[11-3-12];G=tf(num,den);eig(G)

运行结果为:

ans=

-2.0000

-1.0000

1.0000

1.0000

可得有两根在右半平面,故系统不稳定。

11.

均假设系统采样时间为0.1s

(a).程序代码如下:

>>num=[-32];den=[1-0.2-0.250.05];H=tf(num,den,'Ts',0.1);abs(eig(H)')

运行结果如下:

ans=

0.50000.50000.2000

可得系统稳定。

(b).程序代码如下:

>>num=[3-0.39-0.09];den=[1-1.71.040.2680.024];H=tf(num,den,'Ts',0.1);abs(eig(H)')

运行结果如下:

ans=

1.19391.19390.12980.1298

可得系统不稳定。

12.

程序代码如下:

>>A=[-0.20.5000;0-0.51.600;00-14.385.80;000-33.3100;0000-10];

B=[0;0;0;0;30];C=[];D=[];G=ss(A,B,C,D);eig(G)

运行结果如下:

ans=

-0.2000

-0.5000

-14.3000

-33.3000

-10.0000

可得系统稳定。

13.

程序代码如下:

>>A=[-5200;0-400;-32-4-1;-320-4];X0=[1201]';

symst;Y=expm(A*t)*X0

运算结果为:

(此为解析解)

Y=

-3*exp(-5*t)+4*exp(-4*t)

2*exp(-4*t)

18*exp(-4*t)-18*exp(-5*t)-18*t*exp(-4*t)+4*t^2*exp(-4*t)

10*exp(-4*t)-9*exp(-5*t)-8*t*exp(-4*t)

数值解代码如下:

f.m函数如下:

functiondx=f(t,x);

A=[-5200;0-400;-32-4-1;-3204];

dx=A*x

主函数如下:

>>x0=[1;2;0;1];[t,y]=ode45('f',[0,5],x0)

运行结果为:

dx=

1.0e+009*

-0.0000

-0.0000

-0.2426

1.9411

14.

(a).程序代码如下:

>>s=tf('s');G=(s+6)*(s-6)/s/(s+3)/(s+4+4j)/(s+4-4j);

rlocus(G)

可得根轨迹图像为:

不存在K使得系统稳定。

(b).程序代码如下:

>>s=tf('s');G=(s^2+2*s+2)/(s^4+s^3+14*s^2+8*s);rlocus(G)

图像如下:

可得0

15.

代码如下:

采用1/3阶Padé近似拟合延迟项

代码如下:

编写pade_app.m文件:

functionGr=pade_app(c,r,k)

w=-c(r+2:

r+k+1)';vv=[c(r+1:

-1:

1)';zeros(k-1-r,1)];

W=rot90(hankel(c(r+k:

-1:

r+1),vv));V=rot90(hankel(c(r:

-1:

1)));

x=[1(W\w)'];dred=x(k+1:

-1:

1)/x(k+1);

y=[c

(1)x(2:

r+1)*V'+c(2:

r+1)];nred=y(r+1:

-1:

1)/x(k+1);

Gr=tf(nred,dred);

编写paderm.m文件:

function[n,d]=paderm(tau,r,k)

c

(1)=1;fori=2:

r+k+1,c(i)=-c(i-1)*tau/(i-1);end

Gr=pade_app(c,r,k);n=Gr.num{1}(k-r+1:

end);d=Gr.den{1};

>>[n,d]=paderm(2,1,3);s=tf('s');G=(s-1)/(s+1)^5;rlocus(G*tf(n,d))

运行结果:

由图得K∈(0,3.91)能够使得闭环系统稳定

16.

程序代码如下:

>>s=tf('s');G=8*(s+1)/(s^2*(s+15)*(s^2+6*s+10));

figure;bode(G),figure;nyquist(G),figure;nichols(G),grid

3个图如下:

由奈氏图不包围(-1,j0)点及奈氏稳定判据可以得出,该系统稳定。

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

gm=

30.4686

pm=

4.2340

wcg=

1.5811

wcp=

0.2336

阶跃响应为:

可得系统稳定。

代码如下:

假设采样周期为0.1s

由图可知,系统不稳定。

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

gm=

30.4686

pm=

4.2340

wcg=

1.5811

wcp=

0.2336

阶跃响应如下:

可见系统最后发散,故系统不稳定。

17.

程序代码如下:

>>s=tf('s');

G=100*(1+s/2.5)/(s*(1+s/0.5)*(1+s/50));

Gc=1000*(s+1)*(s+2.5)/((s+0.5)*(s+50));

nyquist(G*Gc),grid

由奈氏图可得,曲线不包围(-1,j0)点,而开环系统不含有不稳定极点,所以根据奈氏稳定判据闭环系统是稳定的。

用阶跃响应来验证得:

可得系统是稳定的。

 

第二部分:

Simulink在系统仿真中的应用、控制系统计算机辅助设计、控制工程中的仿真技术应用

Simulink仿真图如下:

由plot(tout,yout)

得到响应仿真图为:

微分方程数值解

代码如下:

>>x0=[1;0.5;0.5;0.2];

[t,y]=ode45('diff1',[0,10],x0);

plot(t,y(:

1))

画的图像为:

可得,与simulink搭成模块仿真的一样。

3.

仿真图搭建如下:

仿真结果为:

输出曲线及误差曲线

>>plot(tout,yout)

4.

由图可得以下方程:

5.

模块搭建如下:

提取系统模型为:

>>[A,B,C,D]=linmod('dianji');G=ss(A,B,C,D)

运行结果为:

a=

x1x2x3x4x5x6x7x8x9

x1000000001.4

x20-1000200-0.88011.7600

x300-100000001.4

x4000-10000000

x5130000-1000000

x60294.1-29.4100-149.3019.610

x7000100-0.440000

x80100-10000000

x9-27.5600001.045e+00400-6.66

b=

u1

x10

x20

x30

x41

x50

x60

x70

x80

x90

c=

x1x2x3x

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

当前位置:首页 > 经管营销 > 人力资源管理

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

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