您的当前位置:首页正文

Matlab使用方法和程序设计解析

2020-06-16 来源:一二三四网


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

一、实验目的:

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

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

3、熟悉Matlab程序设计和基本方法

二、实验内容:

1、求多项式的根:p(x=x^4+2x^3+3x^2+5x+4

源程序:

a=[12354];

b=roots(a

运行结果:

分析:

调用roots(a,求多项式的根

2、已知f=a^4*(b^2-c^2+b^4*(c^2-a^2+c^4*(a^2-b^2,试用符号运算的

方法对其因式分解

源程序:

syms a b c;

f=a^4*(b^2-c^2+b^4*(c^2-a^2+c^4*(a^2-b^2;

R=factor(f

运行结果:

分析:

调用factor(s对多项式进行因式分解

3、编写一个函数,完成求和:S=1+3+5+,,,,,,+2i+1

源程序:

sum=0;

for i=1:2:1000;

sum=sum+i;

end

sum

运行结果:

分析:

调用for循环完成求和,起始值为1,步长为2,终止值为1000

4、已知一传递函数。F(s=,试将其分解部分分式

源程序:

num=[12];

den=[154];

[res,poles,k]=residue(num,den

运行结果:

分析:

调用residue(num,den进行分解部分分式,num为传递函数的分子,den为传递函数的分母。

三、实验总结:

本次实验使我掌握了Matlab软件使用的基本方法,熟悉了Matlab的基本运算和程序控制语句,熟悉Matlab程序设计和基本方法,让我将理论与实践相结合增强了自我动手能力,为以后的工作打下一定的基础。

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

一、实验目的:

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

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

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

4、掌握如何使用MATLAB进行系统稳定性分析

二、实验内容:

时域分析:根据传递函数

810665(3(232+++++=s s s s s s G ,绘制其单位阶跃响应曲线,并读出超调量。

源程序:

num=[3,15,18];

den=[1,6,10,8];

G=tf(num,den;

time=[0:0.1:20];

step(G,time

[wn,z,p]=damp(G;

wnzp=[wn,z,p]

k=dcgain(G运行结果截图:

分析:

由响应曲线可知;该传递函数的超调量为7.28%。2、频域分析:二阶系统传递函数222

2(n

n n s s s G ωεωω++=,当ε=0.7,n ω=6时的Bode 图、Nichols 图、Nyquist 图,并判断其稳定性。

Bode 图

源程序:

num=36;

den=[1,8.4,36];

G=tf(num,den;

bode(G运行结果截图:

分析:

由bode 图可以读出:当L(w=0dB 时,︒->180w (φ;当︒=180-(w φ时,L (w<0;所以该二阶系统稳定。Nyquist 图

源程序:

num=36;

den=[1,8.4,36];

G=tf(num,den;

nyquist(G

运行结果截图:

分析:

由Nyquist图可以读出:奈奎斯特曲线未包含(-1,0点,所以该二阶系统稳定。

Nichols图

源程序:

num=36;

den=[1,8.4,36];

G=tf(num,den;

Nichols(G;

运行结果截图:

分析:

由Nichols 图可以读出:幅值裕量为0.0017dB>0dB,相角裕量为164°>0,所以该二阶系统稳定。3.根轨迹分析:前向通道:s s k s G 53(2+=,反馈通道:100

1(+=s s H ,试确定使系统稳定的K 值范围。源程序:

num=k;

den=conv([1,0],conv([3,5],[1,100];

G=tf(num,den

rlocus(G;

sgrid;

[k,poles]=rlocfind(G;

k,poles

分析:

调用[k,poles]=rlocfind(G,在图中显示K 值和极点,从图中可以读出K 值在-13.6≦K≦13.6时,系统稳定。4.稳定性分析:已知开环传递函数22(3(6((2+++=

s s s s s H s G ,(1判断其稳定性(根分布;

源程序:

num=6;

den=conv([1,0],conv([1,3],[1,2,2];

g=tf(num,den;

bode(g,{0.001,100};

grid;

分析:

由图可以看出该开环传递函数的根都落在s复平面虚轴左半轴,所以该系统稳定。

(2并用Bode图判断其稳定性,及其稳定裕量。

分析:

由Bode 图可以看出,当L(w=0dB 时,︒->180w (φ;当︒=180-(w φ时,L (w<0;所以该系统稳定。幅值裕量为2.66,相角裕量为17.6°。

三、实验总结

通过本次试验让我掌握了如何使用MATLAB 进行系统时域分析,如何使用MATLAB 进行系统频域分析,如何使用MATLAB 进行系统根轨迹分析,如何使用MATLAB 进行系统稳定性分析,知道如何去读bode 图,Nichols 图,Nyquist 图,如何去通过读图来判断系统的稳定性,也明白了使系统稳定时K 值得取值范围,以及用bode 图去读出系统的稳定裕量。让我受益匪浅,为以后的工作打下了一定基础。

实验三

Matlab 使用方法和程序设计

一、实验目的

1.掌握使用串联校正控制系统设计的方法

2.掌握Niegle-Nichols 的等幅振荡法PID 定参

二、实验内容

1、设一单位负反馈控制系统,如果控制对象的开环传递函数为

80(4((++=s s s k s Gp ,试设计一个串联超前校正装置,要求校正后相角裕度γ´≧45º,当系统输入信号是单位斜坡信号时,稳态误差04.0≤e x ,绘制出校正后系统和未校正系统的Bode 图及其闭环系统的单位阶跃响应曲线并对比。

源程序:

num=8000;

den=conv([1,0],conv([1,4],[1,80];

G=tf(num,den;

[Gm,Pm,Wcg,Wcp]=margin(G;

w=0.1:0.1:10000;

[mag,phase]=bode(g,w;

magdb=20*log10(mag;

phim1=45;deta=8;

phim=phim1-Pm+deta;

bita=(1-sin(phim*pi/180/(1+sin(phim*pi/180;

n=find(magdb+10*log10(1/bita<=0.0001;

wc=n(1;

w1=(wc/10*sqrt(bita;

w2=(wc/10/sqrt(bita;

numc=[1/w1,1];

denc=[1/w2,1];

Gc=tf(numc,denc;

GmdB=20*log10(Gm;

GcG=Gc*G;

[Gmc,Pmc,wcgc,wcpc]=margin(GcG;

GmcdB=20*log10(Gmc;

disp('未校正系统的开环传递函数和频域响应参数:h,γ,wc'

G,[GmdB,Pm,Wcp],

disp('校正装置传递函数和校正后系统开环传递函数'

Gc,GcG,

disp('校正后系统的频域响应参数:h,γ,wc'

[GmcdB,Pmc,wcpc],

disp('校正装置的参数T 和β值:T,β'

T=1/w1;[T,bita],

bode(G,GcG;

figure(2;margin(GcG

bode(GcG

运行结果截图:校正前:

分析:

由上图及运行结果可以看出,未校正时系统的幅值裕量为截止频率为9.5715.

相角裕量为穿越频率为

3.36,15.8578,17.8885,

校正后:

分析:

由上图可以看出,校正后系统的幅值裕量,相角裕量有了明显的增大,使系统更加稳定。

2、设一单位负反馈系统的开环传递函数为20(1(1(p ++=

s s s s G ,请用Ziegle-Nichols 第二种方法设计PID 参数并绘制单位阶跃响应曲线及系统的性能指标。

源程序:

num=1;

den=conv([1,0],conv([1,1],[1,20];

G=tf(num,den;

for Km=0:0.1:10000

Gc=Km;

GcG=feedback(Gc*G,1;

[num,den]=tfdata(GcG,'v';

p=roots(den;pr=real(p;prm=max(pr;

pr0=find(prm>=-0.001;n=length(pr0;

if n>=1

break

end

end

step(GcG,0:0.001:3;

Km(求Km

分析:

由运行结果可以看出:Km=419.1000

分析:

从图中可以计算出:Tm=(2.15-0.75s=1.4s

num=1;den=conv([1,0],conv([1,1],[1,20];G=tf(num,den; Km=419.1;Tm=1.4;

Kp=0.6*Km;Ti=0.5*Tm;Td=0.125*Tm;

Kp,Ti,Td,s=tf('s';

GcG=Kp*(1+1/(Ti*s+Td*s;

GcG=feedback(Gc*G,1;step(GcG

(求Kp,Ti,Td

分析:

从运行结果可以看出:Kp=251.46,Ti=0.7,Td=0.175

分析: 从上图可以看出经 Ziegle-Nichols 第二种方法设计 PID 参数后,该系统上升时 间为 0.278, 超调量为 65.8%, 超调量有些大, 调整时间为 7.7, 稳定时间为 11.8。 三、实验总结 经过本次试验让我掌握使用串联校正控制系统设计的方法, 学会了通过根轨 迹法设计串联校正的方法,掌握了 Niegle-Nichols 的等幅振荡法 PID 定参的第 二种方法, 知道了 Niegle-Nichols 的优点在于系统不需要再在闭环状态下运行, 只需在开环状态下就可测得其阶跃响应曲线。 但是缺点是该方法得到的 PID 控制 器的参数,闭环传递函数的超调量比较大。

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