您好,欢迎来到百家汽车网。
搜索
您的当前位置:首页控制系统的MATLAB运用_数值计算

控制系统的MATLAB运用_数值计算

来源:百家汽车网
控制系统中的MATLAB运用(数值计算)

顾恩伟 上方能源

2012年10月18日

0. 基本数学概念

a) 代数式-algebraic expression

用运算符号把数或表示数字的字母(即“代数”,代表数字的符号)连接而成的式

b) c)

子叫做代数式,单独一个数字或一个字母也是代数式。如:1,a,3b2+a, 单项式-monomial

只包含数字与字母的“积”的代数式。如:3a2 多项式-polynomial

几个单项式的和叫做多项式,其中每个单项式叫做这个多项式的“项”-term,字母有系数-coefficient。多项式中不含字母的项叫做常数项-constant term。多项式中次数最高的项的次数-power,叫做这个多项式的次数。如:4x3+x2+2x+1 因式分解-factored form

把一个多项式化成几个整式的积的形式,叫做把这个多项式做因式分解。如:x2−9=(𝑥−3)(𝑥+3) 整式

单项式和多项式统称为整式(基于整数域的表达式?)。 分式-fraction

A和B表示两个整式,A除以B表示成B的形式,如果B中含有字母,式子B就叫做分式。其中,A叫做分式的分子-numerator,B叫做分式的分母-denominator。 g) 有理式-rational expression

分式和整式统称为有理式。

1. 多项式的创建

a) 多项式

 p=[3,1,0,5] %表示多项式3s3+s2+5 b) 多项式的因式分解

 p=poly([−2,−5,−6]) %表示根为-2,-5,-6的多项式,即(s+2)(s+5)(s+

6)

c) 多项式复合

 p=conv(poly([−2,−5,−6]),[3,1,0,5]) %上面两个多项式相乘,convelvo

2. 多项式求解

a) 多项式求解

 p=[1,6,9] %创建多项式s2+6s+9  r=roots(p) %求多项式的解

3. 传递函数创建

a) 多项式-th()

 nf=150∗[1,2,7] %多项式的分子为150(s2+2s+7)

A

A

d)

e) f)

 df=[1,5,4,0] %多项式的分母为s3+5s2+4s  f=tf(nf,df) %th()函数创建传递函数 b) 因式分解-zpk()

 z=[−2,−4] %传递函数的零  p=[−7,−8,−9] %传递函数的极  k=20 %传递函数的增益

 g=zpk(z,p,k) %zpk()函数创建传递函数 c) 有理式表达,结果为多项式(直接法)

 s=tf(′s′) %声明s为一个线性时不变系统的对象,s为多项式

 f=150∗[s∗(s2+5s+4)] %直接创建传递函数,结果显示为多项式 d) 有理式表达,结果为因式分解(直接法)

 s=zpk(′s′) %声明s为一个线性时不变系统的对象,s为因式分解

 f=150∗

s2+2s+7

%直接创建传递函数,结果显示为因式分解 [s∗(s2+5s+4)]s2+2s+7

4. 传递函数转换-方法1

a) 多项式转因式分解

 ntf=[10,40,60] %传递函数f的分子为10s2+40s+60  dtf=[1,4,5,7] %传递函数f的分母为s3+4s2+5s+7  [nzp,dzp]=tf2zp(ntf,dtf) %多项式转因式分解  ftf=tf(ntf,dtf) %多项式方式显示f

 fzp=zpk(nzp,dzp,1) %因式分解方式显示f b) 因式分解转多项式

 nzp=[−2,−4] %传递函数g分子为(s+2)(s+4)  k=10 %传递函数g的增益为10

 dzp=[0,−3,−5] %传递函数g分母为s(s+3)(s+5)  [ntf,dtf]=zp2tf(nzp′,dzp′,k) %因式分解转多项式  gtf=tf(ntf,dtf) %多项式方式显示g

 gzp=zpk(nzp,dzp,k) %因式分解方式显示g

5. 传递函数转-方法2(直接法)

a) 因式分解转多项式

 fzp=zpk([−2,−4],[0,−3,−5],10) %创建因式分解形式的传递函数  ftf=tf(fzp) %因式分解形式的传递函数转换为多项式形式 b) 多项式转因式分解

 ftf=tf([10,40,60],[1,4,5,7]) %创建多项式形式的传递函数  fzp=zpk(ftf) %多项式形式的传递函数转换为因式分解

6. 分式展开-partial fraction

a) 分式展开

 n=[7,9,12]

 d=conv(poly([0,−7]),[1,10,100])

 [r,p,k]=residue(n,d) %r对应展开分式各项的分子,p对应分母,k对应增益

7. 二阶欠阻尼系统暂态特性计算与做图

a) 从因式分解到特性参数

 p1=[1,3+j∗7] %因式分解第一项  p2=[1,3−j∗7] %因式分解第二项

 d=conv(p1,p2) %用conv()命令创建的结果为多项式

 omegan=sqrt(d(1)) %计算自然频率  zeta=

d(2)d(1)d(3)

2∗omegan

%计算阻尼系数

 ts=4/(zeta∗omegan) %计算安定时间  tp=omegan∗sqrt(1−zeta2) %计算峰值时间  pos=100∗exp⁡(

(−zeta∗pi)

) %计算过冲百分比

sqrt(1−zeta2)pi

b) 阶跃响应做图

 n1=[24.542]  d1=[1,4,24.542]

 c1=tf(n1,d1) %y用step()命令创建传递函数  step(c1) %用step()命令做图

 [y1,t1]=step(c1) %把t1的数据点存到  n2=[245.42]  p1=[1,10]

 p2=[1,4,24.542]  d2=conv(p1,p2)  c2=tf(n2,d2)  [y2,t2]=step(c2)  n3=[73.626]  p3=[1,3]

 d3=conv(p3,p2)  c3=tf(n3,d3)  [y3,t3]=step(c3)

 plot(t1,y1,t2,y2,t3,y3)

 step(c1,c2,c3) %也可以用step()命令直接创建传递函数的图像

 tlow=interp1(y1,t1,0.1) %用interp1可以搜索函数y坐标为末值×0.1时的

x坐标位置

 thigh=interp1(y1,t1,0.9) %用interp1可以搜索函数y坐标为末值×0.9时

的x坐标位置

 tr=thigh−tlow %计算10%~90%的上升时间

8. 多系统简化

a) 串并联法

 series(g1,g2) %g1和g2串联  parallel(g1,g2) %g1和g2并联

 feedback(g,h,sign) %g和h组成的反馈  ng1=[−1]  dg1=[1]  ng2=[0,2]  dg2=[1,2]

 ng3=−0.125∗[1,0.435]

 dg3=conv([1,1.23],[1,0.226,0.0169])  nh1=[−1,0]  dh1=[0,1]

 g1=tf(ng1,dg1)  g2=tf(ng2,dg2)  g3=tf(ng3,dg3)  h1=tf(nh1,dh1)

 g4=series(g2,g3) %计算g2与g3的并联  g5=feedback(g4,h1) %计算g4与h1反馈  ge=series(g1,g5) b) 线性计算法

 g4=g3∗g2

 g5=g4/(1+g4∗h1) %直接套用化简公式  g5=minreal(g5) %消去分子分母中的公共项  ge=g5∗g1  t=ge/(1+ge)  t=minreal(t)

9. 从传递函数抽出各项系数

 ng=[25]

 dg=poly([0,−5])  g=tf(ng,dg)  t=feedback(g,1)

 [nt,dt]=tfdata(t,′v′) %从传递函数抽出分子与分母多项式  wn=sqrt(dt(3))

 z=2∗wn  ts=z∗wn 4dt(2)

 tp=

pi

wn∗sqrt(1−z2)

pi

 pos=exp(−z∗sqrt(1−z2))∗100  step(t)

10. 稳态误差计算

 ng=500∗poly([−2,−5,−6])  dg=poly([0,−8,−10,−12])  g=tf(ng,dg)  t=feedback(g,1)

 poles=pole(t) %稳定性检查

 kp=dcgain(g) %计算当s=0时,g的值  ess=1/(1+kp) %阶跃输入误差  nsg=conv([1,0],ng) %定义sG(s)  dsg=poly([0,−8,−10,−12])  sg=tf(nsg,dsg)

 sg=minreal(sg) %消去分子分母的公共项  kv=dcgain(sg) %计算kv=sg,当s=0  ess=1/kv

 ns2g=conv([1,0,0],ng)

 ds2g=poly([0,−8,−10,−12])  s2g=tf(ns2g,ds2g) %定义s^2g  s2g=minreal(s2g)  ka=dcgain(s2g)  ess=1/ka

11. 根轨迹

a) 根轨迹电脑做图与阻尼线

 ng=[1,−4,20]

 dg=poly([−2,−4])  g=tf(ng,dg)

 rlocus(g) %做传递函数g的根轨迹

 z=0.2:0.05:0.5 %定义需要标注的阻尼值  wn=0:1:10 %定义需要标注的自然频率  sgrid(z,wn) %在图上做出上面定义的参数

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baijiahaobaidu.com 版权所有 湘ICP备2023023988号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务