Matlab使用方法和程序设计.docx
《Matlab使用方法和程序设计.docx》由会员分享,可在线阅读,更多相关《Matlab使用方法和程序设计.docx(20页珍藏版)》请在冰豆网上搜索。
Matlab使用方法和程序设计
实验一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),试用符号运算的方法对其因式分解
源程序:
symsabc;
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;
fori=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进行系统稳定性分析
二、实验内容:
时域分析:
根据传递函数,绘制其单位阶跃响应曲线,并读出超调量。
源程序:
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、频域分析:
二阶系统传递函数,当ε=0.7,=6时的Bode图、Nichols图、Nyquist图,并判断其稳定性。
Bode图
源程序:
num=36;
den=[1,8.4,36];
G=tf(num,den);
bode(G)
运行结果截图:
分析:
由bode图可以读出:
当L(w)=0dB时,;当时,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.根轨迹分析:
前向通道:
,反馈通道:
,试确定使系统稳定的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.稳定性分析:
已知开环传递函数,
(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时,;当时,L(w)<0;所以该系统稳定。
幅值裕量为2.66,相角裕量为17.6°。
3、实验总结
通过本次试验让我掌握了如何使用MATLAB进行系统时域分析,如何使用MATLAB进行系统频域分析,如何使用MATLAB进行系统根轨迹分析,如何使用MATLAB进行系统稳定性分析,知道如何去读bode图,Nichols图,Nyquist图,如何去通过读图来判断系统的稳定性,也明白了使系统稳定时K值得取值范围,以及用bode图去读出系统的稳定裕量。
让我受益匪浅,为以后的工作打下了一定基础。
实验三Matlab使用方法和程序设计
一、实验目的
1.掌握使用串联校正控制系统设计的方法
2.掌握Niegle-Nichols的等幅振荡法PID定参
二、实验内容
1、设一单位负反馈控制系统,如果控制对象的开环传递函数为,试设计一个串联超前校正装置,要求校正后相角裕度γ´≧45º,当系统输入信号是单位斜坡信号时,稳态误差,绘制出校正后系统和未校正系统的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)
运行结果截图:
校正前:
分析:
由上图及运行结果可以看出,未校正时系统的幅值裕量为3.36,相角裕量为15.8578,穿越频率为17.8885,截止频率为9.5715.
校正后:
分析:
由上图可以看出,校正后系统的幅值裕量,相角裕量有了明显的增大,使系统更加稳定。
2、设一单位负反馈系统的开环传递函数为,请用Ziegle-Nichols第二种方法设计PID参数并绘制单位阶跃响应曲线及系统的性能指标。
源程序:
num=1;
den=conv([1,0],conv([1,1],[1,20]));
G=tf(num,den);
forKm=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);
ifn>=1
break
end
end
step(GcG,0:
0.001:
3);
Km(求Km)
分析:
由运行结果可以看出:
Km=419.1000
分析:
从图中可以计算出:
Tm=(2.15-0.75)s=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。
3、实验总结
经过本次试验让我掌握使用串联校正控制系统设计的方法,学会了通过根轨迹法设计串联校正的方法,掌握了Niegle-Nichols的等幅振荡法PID定参的第二种方法,知道了Niegle-Nichols的优点在于系统不需要再在闭环状态下运行,只需在开环状态下就可测得其阶跃响应曲线。
但是缺点是该方法得到的PID控制器的参数,闭环传递函数的超调量比较大。