Matlab使用方法和程序设计解析
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
源程序:
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;
实验三
Matlab使用方法和程序设计
一、实验目的
1.掌握使用串联校正控制系统设计的方法
2.掌握Niegle-Nichols的等幅振荡法PID定参
二、实验内容
1、设一单位负反馈控制系统,如果控制对象的开环传递函数为
80(4((++=s s s k s Gp ,试设计一个串联超前校正装置,要求校正后相角裕度γ´≧45º,当系统输入信号是单位斜坡信号时,稳态误差04.0≤e x ,绘制出校正后系统和未校正系统的Bode图及其闭环系统的单位阶跃响应曲线并对比。
实验一Matlab使用方法和程序设计
一、实验目的:
1、掌握Matlab软件使用的基本方法
2、熟悉Matlab的基本运算和程序控制语句
3、熟悉Matlab程序设计和基本方法
二、实验内容:
1、求多项式的根:p(x=x^4+2x^3+3x^2+5x+4
源程序:
a=[12354];
b=roots(a
运行结果:
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;
(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图去读出系统的稳定裕量。让我受益匪浅,为以后的工作打下了一定基础。
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+++=
源程序:
num=[12];
den=[154];
[res,poles,k]=residue(num,den
运行结果:
分析:
调用residue(num,den进行分解部分分式,num为传递函数的分子,den为传递函数的分母。
三、实验总结:
本次实验使我掌握了Matlab软件使用的基本方法,熟悉了Matlab的基本运算和程序控制语句,熟悉Matlab程序设计和基本方法,让我将理论与实践相结合增强了自我动手能力,为以后的工作打下一定的基础。
分析:
调用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
运行结果:
运行结果截图:
分析:
由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];
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复平面虚轴左半轴,所以该系统稳定。
分析:
调用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=[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
实验二Matlab使用方法和程序设计
一、实验目的:
1、掌握如何使用MATLAB进行系统Байду номын сангаас域分析
2、掌握如何使用MATLAB进行系统频域分析
3、掌握如何使用MATLAB进行系统根轨迹分析
4、掌握如何使用MATLAB进行系统稳定性分析
二、实验内容:
时域分析:根据传递函数
810665(3(232+++++=s s s s s s G ,绘制其单位阶跃响应曲线,并读出超调量。
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;
实验三
Matlab使用方法和程序设计
一、实验目的
1.掌握使用串联校正控制系统设计的方法
2.掌握Niegle-Nichols的等幅振荡法PID定参
二、实验内容
1、设一单位负反馈控制系统,如果控制对象的开环传递函数为
80(4((++=s s s k s Gp ,试设计一个串联超前校正装置,要求校正后相角裕度γ´≧45º,当系统输入信号是单位斜坡信号时,稳态误差04.0≤e x ,绘制出校正后系统和未校正系统的Bode图及其闭环系统的单位阶跃响应曲线并对比。
实验一Matlab使用方法和程序设计
一、实验目的:
1、掌握Matlab软件使用的基本方法
2、熟悉Matlab的基本运算和程序控制语句
3、熟悉Matlab程序设计和基本方法
二、实验内容:
1、求多项式的根:p(x=x^4+2x^3+3x^2+5x+4
源程序:
a=[12354];
b=roots(a
运行结果:
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;
(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图去读出系统的稳定裕量。让我受益匪浅,为以后的工作打下了一定基础。
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+++=
源程序:
num=[12];
den=[154];
[res,poles,k]=residue(num,den
运行结果:
分析:
调用residue(num,den进行分解部分分式,num为传递函数的分子,den为传递函数的分母。
三、实验总结:
本次实验使我掌握了Matlab软件使用的基本方法,熟悉了Matlab的基本运算和程序控制语句,熟悉Matlab程序设计和基本方法,让我将理论与实践相结合增强了自我动手能力,为以后的工作打下一定的基础。
分析:
调用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
运行结果:
运行结果截图:
分析:
由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];
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复平面虚轴左半轴,所以该系统稳定。
分析:
调用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=[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
实验二Matlab使用方法和程序设计
一、实验目的:
1、掌握如何使用MATLAB进行系统Байду номын сангаас域分析
2、掌握如何使用MATLAB进行系统频域分析
3、掌握如何使用MATLAB进行系统根轨迹分析
4、掌握如何使用MATLAB进行系统稳定性分析
二、实验内容:
时域分析:根据传递函数
810665(3(232+++++=s s s s s s G ,绘制其单位阶跃响应曲线,并读出超调量。