自动控制原理课程设计报告--开环传递函数

自动控制原理课程设计报告--开环传递函数
自动控制原理课程设计报告--开环传递函数

自动控制原理课程设计报告--开环传递函数

目录

一、课设的任务与要求 (1)

I、课设的题目与问题 (1)

II课设的要求 (1)

二、设计正文 (3)

I、第一问 (3)

1-1 题目的处理 (3)

1-2 题目的代码 (3)

1-3 运行的的结果 (3)

1-4 比较 (4)

II 、第二问 (5)

2-1 题目的处理 (5)

2-2 题目的代码 (5)

2-3 运行的结果 (5)

K>0 (6)

K<0 (6)

III、第三问 (6)

3-1 题目的处理 (6)

3-3 运行的结果 (7)

3-4 结论 (8)

IV、第四问 (8)

第四问中的第一小题 (8)

4-1-1题目的分析 (8)

4-1-2题目的代码 (8)

4-1-3运行结果 (9)

4-1-4 系统的校正 (9)

4-1-4-1 超前校正 (9)

4-1-4-2 滞后校正 (10)

第四问中的第二小题 (11)

4-2-1题目的分析 (11)

4-2-2题目的代码 (12)

4-2-3 运行的结果 (12)

4-2-4 系统校正 (12)

4-2-4-1 超前校正 (12)

4-2-4-2 滞后校正 (13)

三、附录 (16)

第一问 (16)

第二问 (17)

K>0 (17)

K<0 (17)

第三问 (18)

第四问 (19)

第一题 (19)

未校正的单位阶跃响应图 (19)

未校正前的BODE 图 (19)

超前校正 (19)

滞后校正 (21)

第二题 (21)

未校正的单位阶跃响应图 (22)

可得未校正前的BODE 图 (22)

超前校正 (22)

滞后校正 (23)

滞后—超前校正 (24)

四、总结 (26)

五、参考文献 (27)

一、课设的任务与要求

I 、课设的题目与问题

题目:已知单位负反馈系统被控制对象的开环传递函数

)11.0()(+=

s s K

s G k

问题:

1. 分析系统单位阶跃响应的时域性能指标

2. 当(),k ∈-∞+∞时,绘制系统的根轨迹,分析系统的稳定性

3. 对系统进行频域分析,绘制其Nyquist 图及Bode 图,确定闭环系统的稳定性

4. 用串联校正的频率域方法对系统进行串联校正设计,使系统满足如下动态及静态性能指

标:

4.1设计串联校正满足下列性能指标

(1)在单位斜坡信号t t r =)(作用下,系统的稳态误差01.0≤ss e ;

(2)系统校正后,相位裕量0''45)(>c ωγ。

4.2设计串联校正满足下列性能指标

(1)在单位斜坡信号t t r =)(作用下,系统的稳态误差005.0≤ss e ;

(2)系统校正后,相位裕量0''45)(>c ωγ。 (3)系统校正后,幅值穿越频率50'

>c ω。

II 课设的要求

单位阶跃响应时域指标的分析:绘制系统的单位阶跃响应曲线,利用曲线计算系统单位阶跃响应的时域性能指标,包括上升时间,峰值时间,调节时间,超调,振荡次数 根据Matlab 相关命令绘制系统的根轨迹,通过根轨迹分析系统的稳定性

根据Matlab相关命令绘制系统的Nyquist图和Bode图,由图分析系统的稳定性及稳定裕度按如下步骤,利用频率域串联校正方法对系统进行的串联校正设计:

(1)根据要求的稳态品质指标,求系统的开环增益值;

(2)根据求得的值,画出校正前系统的Bode图,并计算出幅值穿越频率、相位裕量(要求

利用MATLAB软件编程进行辅助设计),以检验性能指标是否满足要求。若不满足要求,则执

行下一步;

(3)画出串联校正结构图,分析并选择串联校正的类型(超前、滞后和滞后-超前校正)。(若

可以采用多种方法,分别设计并进行比较)

(4)确定校正装置传递函数的参数;

(5)画出校正后的系统的Bode图,并校验系统性能指标(要求利用MATLAB软件编程进行辅

助设计)。若不满足,跳到第(4)步。否则进行下一步。

(6)提出校正的实现方式及其参数。(要求实验实现校正前、后系统并得到的校正前后系统

的阶跃响应)

(7)若采用不同串联校正方法进行设计,比较不同串联校正方法的特点。(稳定性、稳态性

能、动态性能和实现的方便性的比较)

二、设计正文

I、第一问

1-1 题目的处理

K = 10 时

K* = 100

GK = 100/[s(s+1)]

G = 100/[s^2+10s+100]

1-2 题目的代码

在MATLAB 中运行以下代码:

GK = tf([100],[1 10 0]);

G = tf([100],[1 10 100]);

step(G)

Wn = 10;

Kexi = 10/(2*Wn);

Beta = acos(Kexi);

Wd = Wn*sqrt(1-Kexi^2);

Tr = (pi-Beta)/Wd;

Tp = pi/Wd;

Ts = 4.4/(Kexi*Wn);

Ct = exp(-pi*Kexi/sqrt(1-Kexi^2))*100;

1-3 运行的的结果

Transfer function——G :

100

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

Wn = 10 Kexi =

0.5000 Beta =

1.0472 Wd =

8.6603 Tr =

0.2418 Tp =

0.3628 Ts =

0.8800 Ct =

16.3034

Step Response

Time (sec)

A m p l i t u d e

1-4 比较

以上数据与图中数据相吻合

II 、第二问

2-1 题目的处理

GK =

K*

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

s^2 + 10 s

分K* > 0 和K* < 0 两项

2-2 题目的代码

在MATLAB 中运行以下代码:

当K* > 0 时;

num = [1];

den = [1 10 0];

rlocus(num,den);

[K p] = rlocfind (num,den)

title(‘ROOT LOCUS’);

K* < 0 时

num = [-1];

den = [1 10 0];

rlocus(num,den);

[K* p] = rlocfind (num,den);

2-3 运行的结果

K* = 72.8796 即 K = 7.28396 p = -14.8934 4.8934

K>0

-6-4

-2

2

4

6

R eal Axis

I m a g in a r y A x is

K<0

-2.5

-2

-1.5

-1-0.5

00.5

1

1.5

2

2.5

R eal A xis

I m a g i n a r y A x i s

2-4 结论

由图可看出K* > 0 即K > 0可满足系统稳定; 由图可看出 K* < 0 即 K <0 时 ,系统不稳定

III 、第三问

3-1 题目的处理

由以上可知 K > 0 时 ,系统都稳定 故设 K = 10 , K* = 100; 则 GK = 100/[s(s+10)];

在 MATLAB 中代码为: num = [100]; den = [1 10 0];

[mag phase w]=bode(num,den) margin(mag,phase, w) nyquist(num,den) grid

3-3 运行的结果

-100-50

50

M a g n i t u d e (d B )Bode Diagram

Gm = 92 dB (at 2e+003 rad/sec) , P m = 51.8 deg (at 7.85 rad/sec)

Frequency (rad/sec)

10

10

10

10

10

P h a s e (d e g )

Nyquist Diagram

Real Axis

I m a g i n a r y A x i s

3-4 结论

根据nyquist 稳定判据,R=0,P=0,Z=0 可知系统稳定

IV、第四问

第四问中的第一小题

4-1-1题目的分析

由单位斜坡信号作用下

e< =0.01 得出 K = 100

ss

GK = 100/[s(0.1s+1)];

先做出未校正前的相关图形;

4-1-2题目的代码

Gk = tf([100],[0.1 1 0]);

G = feedback(Gk,1);

step(G)

num1 = [100];

den1 = [0.1 1 0];

figure(1);

[mag1,phase1,w] = bode(num1,den1); margin(mag1,phase1, w)

4-1-3运行结果

看图可知不满足相位裕度 > 45

0.2

0.40.60.811.2

1.41.61.8T im e (sec)

A m p l i t u d e

-50

50

100

M a g n it u d e (d B )10

10

10

10

10

P h a s e (d e g )

Bode D iagram

Gm = 72 dB (at 2e+003 rad/sec) , P m = 18 deg (at 30.8 rad/sec)

Frequency (rad/sec)

(图见附录)

4-1-4 系统的校正

4-1-4-1 超前校正

4-1-4-1-1 问题的计算

由计算可得 T = 0.04s a = 3.36 ; Gc = (0.s+1)/(0.04s+1); 结构图

原理图

R1

C R2U2

U1

4-1-4-1-2 题目的代码

代码;Gk = tf (num0,den0);

G = feedback(Gk,1);

step(G)

代码;

num2 = [0.031 1];

den2 = [0.062 1];

num0 = conv (num2,num1);

den0 = conv (den2,den1);

[mag0,phase0,w] = bode(num0,den0);

figure;

margin(mag0,phase0, w)

4-1-4-1-3 运行的结果

(图见附录)

4-1-4-2 滞后校正

4-1-4-2-1问题的计算

计算可得 T = 11.87 b = 0.104 ;

Gc = (1+1.23s)/(1+11.87s)

结构图

原理图

U2

R1

R2

C

U1

4-1-4-2-2问题的代码 figure

num3 = [1.23 1]; den3 = [11.87 1];

num4 = conv (num3,num1); den4 = conv (den3,den1);

[mag4,phase4,w] = bode(num4,den4); margin(mag4,phase4,w); 由代码

Gk = tf (num4,den4); G = feedback(Gk,1); step(G)

4-1-4-2-3运行的结果 (图见附录)

第四问中的第二小题

4-2-1题目的分析

由题 在单位斜坡信号作用下,系统的稳态误差 <= 0.005 得出 K = 200; GK = 200/[s(0.1s+1)];

先做出未校正前的相关图形;

4-2-2题目的代码

由代码Gk = tf([200],[0.1 1 0]);

G = feedback(Gk,1);

step(G)

由代码num1 = [200];

den1 = [0.1 1 0];

[mag1,phase1,w] = bode(num1,den1);

margin(mag1,phase1,w)

4-2-3 运行的结果

(图见附录)

4-2-4 系统校正

4-2-4-1 超前校正

4-2-4-1-1 题目的计算

由计算可得 T = 0.016s a = 1.63;

Gc = (1+0.026s)/(1+0.016s);

结构图

原理图

R1

C R2U2

U1

4-2-4-1-2 题目的代码

由代码

num2 = [0.026 1];

den2 = [0.016 1];

num0 = conv (num2,num1);

den0 = conv (den2,den1);

[mag0,phase0,w] = bode(num0,den0);

figure;

margin(mag0,phase0,w);

由代码

Gk = tf (num0,den0);

G = feedback(Gk,1);

step(G)

4-2-4-1-3 运行的结果

(见附录)

4-2-4-2 滞后校正

4-2-4-2-1 问题的分析

计算可得 T = 23.52 b = 0.052 ;

Gc = (1+1.22s)/(1+23.52s)

结构图

原理图

U2

R1

R2

C

U1

4-2-4-2-2 问题的代码

由代码 Figure

num3 = [1.22 1]; den3 = [23.52 1];

num4 = conv (num3,num1); den4 = conv (den3,den1);

[mag4,phase4,w] = bode(num4,den4); margin(mag4,phase4,w); 由代码

Gk = tf (num4,den4); G = feedback(Gk,1); step(G)

4-2-4-2-3 运行的结果 (见附录)

4-2-4-3 滞后—超前校正

4-2-4-3-1 问题的分析

计算可得 Tb = 0.1 '

'C w = 50 a = 40 a w = 0.51 rad/s

Gc = [ (1+1.28s)(1+0.1s) ] / [ (1+5.02s)(1+0.03s) ]; 结构图

原理图

4-2-4-3-2 问题的代码

由代码

num5 =conv([20 1],[0.1 1]) ;

den5 = conv([78.4 1],[0.0025 1]); num6 = conv (num5,num1);

den6 = conv (den5,den1);

[mag6,phase6,w] = bode(num6,den6); figure

margin(mag6,phase6,w);

由代码

Gk = tf (num6,den6);

G = feedback(Gk,1);

step(G)

4-2-4-3-3 运行的结果

(见附录)

三、附录第一问

在MATLAB 中运行以下代码:

GK = tf([100],[1 10 0]);

G = tf([100],[1 10 100]);

step(G)

Wn = 10;

Kexi = 10/(2*Wn);

Beta = acos(Kexi);

Wd = Wn*sqrt(1-Kexi^2);

Tr = (pi-Beta)/Wd;

Tp = pi/Wd;

Ts = 4.4/(Kexi*Wn);

Ct = exp(-pi*Kexi/sqrt(1-Kexi^2))*100;

自动控制原理实验报告

《自动控制原理》 实验报告 姓名: 学号: 专业: 班级: 时段: 成绩: 工学院自动化系

实验一 典型环节的MATLAB 仿真 一、实验目的 1.熟悉MATLAB 桌面和命令窗口,初步了解SIMULINK 功能模块的使用方法。 2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。 3.定性了解各参数变化对典型环节动态特性的影响。 二、实验原理 1.比例环节的传递函数为 K R K R R R Z Z s G 200,1002)(211 212==-=-=- = 其对应的模拟电路及SIMULINK 图形如图1-3所示。 三、实验内容 按下列各典型环节的传递函数,建立相应的SIMULINK 仿真模型,观察并记录其单位阶跃响应波形。 ① 比例环节1)(1=s G 和2)(1=s G ; ② 惯性环节11)(1+= s s G 和1 5.01 )(2+=s s G ③ 积分环节s s G 1)(1= ④ 微分环节s s G =)(1 ⑤ 比例+微分环节(PD )2)(1+=s s G 和1)(2+=s s G ⑥ 比例+积分环节(PI )s s G 11)(1+=和s s G 211)(2+= 四、实验结果及分析 图1-3 比例环节的模拟电路及SIMULINK 图形

① 仿真模型及波形图1)(1=s G 和2)(1=s G ② 仿真模型及波形图11)(1+= s s G 和1 5.01)(2+=s s G 11)(1+= s s G 1 5.01 )(2+=s s G ③ 积分环节s s G 1)(1= ④ 微分环节

自动控制原理作业答案

作业一: 第一章 1-2【P7】 (1)在结构上,系统必须具有反馈装置,并按负反馈的原则组成系 统。 (2)由偏差产生控制作用。 (3)控制的目的是力图减小或消除偏差,使被控制量尽量接近期望 值。 1-3【P8】 1-7 优点缺点 开环控制系统结构简单、造价低控制精度低、适应性不强闭环控制系统适应性强、控制精度高结构复杂、稳定性有时难 保证 补充1:自动控制系统有什么基本要求?【P14】 1-8 开( 2-1. (a)

1121 1112211 i o o R i i dt C u R i u i i i R i idt u C ?=?? -=?? +=??+=?? ??L L L L L L L L ① ② ③④ 化简得: 212121 211212121211 ()(1)i o i i o o du du R C R C R C u u dt R C u u dt dt R C R C dt R C R C +++=++++?? 2-1(d)

2-2 (a) 011020()()i i i d x x x f k x x f kx dt dt -+-=+ 化简 01212011()()i i dx dx f f k k x f k x dt dt +++=+ (b ) 处于静止时刻(平衡的时候),质量块m 的重力mg 已经被弹簧跟阻尼器所平 衡掉,所以列方程的时候不应该出现重力mg 。 以质量块m 为研究对象,由牛顿第二定律得: 22()()()d y t dz t m kz t f dt dt =--L L L ① 结合: ()()()z t y t x t =-L L L ② 消去()y t 得:

约瑟夫环课程设计实验报告

《数据结构》 课程设计报告 课程名称:《数据结构》课程设计课程设计题目:joseph环 姓名: 院系:计算机学院 专业: 年级: 学号: 指导教师: 2011年12月18日

目录 1 课程设计的目的 (2) 2 需求分析 (2) 3 课程设计报告内容 (3) 1、概要设计 (3) 2、详细设计 (3) 3、调试分析 (x) 4、用户手册 (x) 5、测试结果 (6) 6、程序清单 (7) 4 小结 (10) 1、课程设计的目的 (1)熟练使用C++编写程序,解决实际问题; (2)了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; (3)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; (4)提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 2、需求分析 1、问题描述: 编号是1,2,……,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个仍开始顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有人全部出列为止。设计一个程序来求出出列顺序。 2、要求: 利用不带表头结点的单向循环链表存储结构模拟此过程,按照出列的顺序输出各个人的编号。 3、测试数据: m的初值为20,n=7 ,7个人的密码依次为3,1,7,2,4,7,4,首先m=6,则正确的输出是什么? 输出形式:建立一个输出函数,将正确的输出序列

3、课程设计报告内容 概要设计: 在理解了题目后,我先想到的是我们所学的单链表,利用单链表先建立循环链表进行存贮,建立完循环链表后,我将所要编写的函数分为了两块,一块是经过学过的单链表改编的循环链表的基本操作函数,还有一块是运行约瑟夫环的函数。 详细设计: 我先建立一个结构体,与单链表一样,只是多了一个存密码的code域 struct LinkNode { int data; /删除的是尾结点时(不知道为什么我写程序里总是编译出现错误){ q->next=head; //重新链接 delete a; len--; return out; } else { q->next=a->next; delete a; len--; return out; } } } } 5、测试结果:

自动控制原理实验报告

实验报告 课程名称:自动控制原理 实验项目:典型环节的时域相应 实验地点:自动控制实验室 实验日期:2017 年 3 月22 日 指导教师:乔学工 实验一典型环节的时域特性 一、实验目的 1.熟悉并掌握TDN-ACC+设备的使用方法及各典型环节模拟电路的构成方法。

2.熟悉各种典型环节的理想阶跃相应曲线和实际阶跃响应曲线。对比差异,分析原因。 3.了解参数变化对典型环节动态特性的影响。 二、实验设备 PC 机一台,TD-ACC+(或TD-ACS)实验系统一套。 三、实验原理及内容 下面列出各典型环节的方框图、传递函数、模拟电路图、阶跃响应,实验前应熟悉了解。 1.比例环节 (P) (1)方框图 (2)传递函数: K S Ui S Uo =) () ( (3)阶跃响应:) 0()(≥=t K t U O 其中 01/R R K = (4)模拟电路图: (5) 理想与实际阶跃响应对照曲线: ① 取R0 = 200K ;R1 = 100K 。 ② 取R0 = 200K ;R1 = 200K 。

2.积分环节 (I) (1)方框图 (2)传递函数: TS S Ui S Uo 1 )()(= (3)阶跃响应: ) 0(1)(≥= t t T t Uo 其中 C R T 0= (4)模拟电路图 (5) 理想与实际阶跃响应曲线对照: ① 取R0 = 200K ;C = 1uF 。 ② 取R0 = 200K ;C = 2uF 。

1 Uo 0t Ui(t) Uo(t) 理想阶跃响应曲线 0.4s 1 Uo 0t Ui(t) Uo(t) 实测阶跃响应曲线 0.4s 10V 无穷 3.比例积分环节 (PI) (1)方框图: (2)传递函数: (3)阶跃响应: (4)模拟电路图: (5)理想与实际阶跃响应曲线对照: ①取 R0 = R1 = 200K;C = 1uF。 理想阶跃响应曲线实测阶跃响应曲线 ②取 R0=R1=200K;C=2uF。 K 1 + U i(S)+ U o(S) + Uo 10V U o(t) 2 U i(t ) 0 0 .2s t Uo 无穷 U o(t) 2 U i(t ) 0 0 .2s t

自动控制原理作业参考答案(第五章

5.1 (1))(20)(20)(20)(12)(t r t r t c t c t c +=++ (2)21)10)(2()1(20)(s s s s s C ?+++= = s s s s 4 .0110275.02125.02+++-++- 所以 c(t)=4.0275.0125.0102++----t e e t t c(0)=0;c(∞)=∞; (3)单位斜坡响应,则r(t)=t 所以t t c t c t c 2020)(20)(12)(+=++ ,解微分方程加初始条件 解的: 4.04.02)(102++-+=--t e e t c t t c(0)=2, c(∞)=∞; 5.2 (1)t t e e t x 35.06.06.3)(---= (2)t e t x 2)(-= (3) t w n n n t w n n n n n n n e w b w a e w b w a t x )1(22)1(22221 2)1(1 2)1()(----+----+-+ -+----= ξξωξξωξξξωξξξω(4)t a A t a Aa e a a b t x at ωωωωωωωcos sin )()(2 22222+-++++=- 5.3 (1)y(kT)=)4(16 19 )3(45)2(T t T t T t -+-+-δδδ+…… (2) 由y(-2T)=y(-T)=0;可求得y(0)=0,y(T)=1; 则差分方程可改写为y[kT]-y[(k-1)T]+0.5y[(k-2) T]=0;,k=2,3,4…. 则有0))0()()((5.0))()(()(121=++++----y T y z z Y z T y z Y z z Y 2 11 5.015.01)(---+--=z z z z Y =.....125.025.025.05.015431----++++z z z 则y *(t)=0+)5(25.0)4(25.0)3(5.0)2()(T t T t T t T t T t -+-+-+-+-δδδδδ+… (3)y(kT)=k k k k k T T k T T )1(4 )1(4)1(4)1(4++---- 5.4

约瑟夫环实验报告

一.需求分析 1.约瑟夫环(Joseph)问题的一种描述是:编号为1,2……,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。 2.演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,有用户在键盘上输入演示程序中规定的运算命令,相应的输入数据和运算结果显示在其后。 3.程序执行的命令包括: 1)输入初始密码和人数2)输入所有人的密码3)显示输入的所有人的编号及相应的密码4)输出出列密码及编号5)结束 4.测试数据 (1)m=20, n=7, 7个人的密码依次为3,1,7,2,4,8,4 (2)m=20,n=1 (3)m=20,n=0 前面一组为常规数据,后面两组为边缘数据 二、概要设计 为实现上述功能,应以有序单向循环链表表示约瑟夫环。为此,需要有一个抽象数据类型。该抽象数据类型的定义为: ADT LinkList { 数据对象:D={ ai | ai ∈termset,i=1,2,……n,n>=0}, termset中每个元素包含编号,密码,和一个指向下一节点的指针数据关系:R1={ | ai-1, ai ∈D , i=2,……n} 基本操作: LinkList EvaluList(int n);//对单向循环链表进行尾插入赋值 int size(LinkList L);//求链表的节点个数 Status ScanList(LinkList L);//遍历单向循环链表 Status Joseph(LinkList &L,int m);//约瑟夫环的实现 } 此抽象数据类型中的一些常量如下:#define TRUE 1 #define FALSE 0 #define OK 1

自动控制原理MATLAB仿真实验报告

实验一 MATLAB 及仿真实验(控制系统的时域分析) 一、实验目的 学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性; 二、预习要点 1、 系统的典型响应有哪些? 2、 如何判断系统稳定性? 3、 系统的动态性能指标有哪些? 三、实验方法 (一) 四种典型响应 1、 阶跃响应: 阶跃响应常用格式: 1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。 2、),(Tn sys step ;表示时间范围0---Tn 。 3、),(T sys step ;表示时间范围向量T 指定。 4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。 2、 脉冲响应: 脉冲函数在数学上的精确定义:0 ,0)(1)(0 ?==?∞ t x f dx x f 其拉氏变换为:) ()()()(1)(s G s f s G s Y s f === 所以脉冲响应即为传函的反拉氏变换。 脉冲响应函数常用格式: ① )(sys impulse ; ② ); ,();,(T sys impulse Tn sys impulse ③ ),(T sys impulse Y = (二) 分析系统稳定性 有以下三种方法: 1、 利用pzmap 绘制连续系统的零极点图; 2、 利用tf2zp 求出系统零极点; 3、 利用roots 求分母多项式的根来确定系统的极点 (三) 系统的动态特性分析 Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.

自动控制原理作业答案1-7(考试重点)演示教学

红色为重点(2016年考题) 第一章 1-2仓库大门自动控制系统原理示意图。试说明系统自动控制大门开闭的工作原理,并画出系统方框图。 解当合上开门开关时,电桥会测量出开门位置与大门实际位置间对应的偏差电压,偏差电压经放大器放大后,驱动伺服电动机带动绞盘转动,将大门向上提起。与此同时,和大门连在一起的电刷也向上移动,直到桥式测量电路达到平衡,电动机停止转动,大门达到开启位置。反之,当合上关门开关时,电动机反转带动绞盘使大门关闭,从而可以实现大门远距离开闭自动控制。系统方框图如下图所示。 1-4 题1-4图为水温控制系统示意图。冷水在热交换器中由通入的蒸汽加热,从而得到一定温度的热水。冷水流量变化用流量计测量。试绘制系统方块图,并说明为了保持热水温度为期望值,系统是如何工作的?系统的被控对象和控制装置各是什么? 解工作原理:温度传感器不断测量交换器出口处的实际水温,并在温度控制器中与给定温度相比较,若低于给定温度,其偏差值使蒸汽阀门开大,进入热交换器的蒸汽量加大,热水温度升高,直至偏差为零。如果由于某种原因,冷水流量加大,则流量值由流量计测得,通过温度控制器,开大阀门,使蒸汽量增加,提前进行控制,实现按冷水

流量进行顺馈补偿,保证热交换器出口的水温不发生大的波动。 其中,热交换器是被控对象,实际热水温度为被控量,给定量(希望温度)在控制器中设定;冷水流量是干扰量。 系统方块图如下图所示。这是一个按干扰补偿的复合控制系统。 1-5图为工业炉温自动控制系统的工作原理图。分析系统的工作原理,指出被控对象、被控量及各部件的作用,画出系统方框图。 解加热炉采用电加热方式运行,加热器所产生的热量与调压器电压Uc的平方成正比,Uc增高,炉温就上升,Uc 的高低由调压器滑动触点的位置所控制,该触点由可逆转的直流电动机驱动。炉子的实际温度用热电偶测量,输出电压Uf。Uf作为系统的反馈电压与给定电压Ur进行比较,得出偏差电压Ue,经电压放大器、功率放大器放大成au后,作为控制电动机的电枢电压。 在正常情况下,炉温等于某个期望值T°C,热电偶的输出电压Uf正好等于给定电压Ur。此时,Ue=Ur-Uf=0,故U1=Ua=0,可逆电动机不转动,调压器的滑动触点停留在某个合适的位置上,使Uc保持一定的数值。这时,炉子散失的热量正好等于从加热器吸取的热量,形成稳定的热平衡状态,温度保持恒定。 当炉膛温度T°C由于某种原因突然下降(例如炉门打开造成的热量流失),则出现以下的控制过程,控制的结果是使炉膛温度回升,直至T°C的实际值等于期望值为止。 系统中,加热炉是被控对象,炉温是被控量,给定量是由给定电位器设定的电压ru(表征炉温的希望值)。系统方框图见下图。

约瑟夫问题算法及数据结构课程设计报告

线性表的操作及其应用 一、问题描述 线性表、队列是一种常用的数据结构,有顺序和链式两种存储结构,在实际中应用十分广泛,而链表又分为单链表和循环链表,队列又分为链式队列和循环队列。这些数据结构都可用来解决约瑟夫环问题。约瑟夫环问题是算法设计中的一个经典问题,是顺序编号的一组n个人围坐一圈,从第1个人按一定方向顺序报数,在报到m时该人出列,然后按相同方法继续报数,直到所有人出列。设计算法求约瑟夫环中人员的出列顺序。 二、基本要求 1、选择合适的存储结构,建立线性表; 2、利用顺序存储结构求解约瑟夫环问题; 3、利用单链表和循环链表分别求解约瑟夫环问题; 4、利用队列求解约瑟夫环问题。 三、测试数据 约瑟夫环的测试数据为7,报数为1至3。 四、算法思想 由于用到四种不同的存储结构,它们的算法思想依次是: 1、首先建立一个顺序表模拟整个约瑟夫环,手动输入顺序表长(即参加约瑟夫循环的人数)和循环的次数和表元素。用已经输出总人数和顺序表长作比较,作为外层循环条件。并对每一个输出后的元素重新赋值以为标记。对于每次循环,首先检查顺序表此次是不是我们设立的标记,如果不是则循环次数加1,当达到要求的循环次数时就将循环次数设置为0,输出该元素到屏幕并将总输出元素加1。每次外循环我们都会移到表的下一个位置,作为新的判断条件,每次报到表尾的时候,我们都将重新设置到表尾,作为下次循环的表元素。 2、首先采用链式循环链表建立整个约瑟夫环,手动输入第一次的循环次数和每个人所持下一个循环次数。设立判断指针指向表头,并将该指针是否为空作为外层循环条件。做一个内层循环,将判断指针移动到循环要输出的数,并设立一个前指针指向该指针的前一个位置,输出该元素后,将循环次数重新赋值成该元素。接着判断前指针和判断指针比较,如果相等说明整个表已经输出完毕,否则将删除该位置的元素。 3、用链式队列建立循环约瑟夫环,手动输入人数,第一次的循环次数和每个人所持下一个循环次数。并将每一个元素依次入队列,根据第一次循环次数,建立一个for循环,每一次循环都出队列,如果达到要求的循环次数就输出,否则进队列,这样这个数字就出现在队尾。第一个数输出后,以队列的非空作为循环条件,判断方式如上。 4、用循环队列建立约瑟夫环,将1-7个元素依次进入循环队列,以队列的长度作为与已输出的元素作为判断条件,对每一个输出后的元素重新赋值以为标记。对于每次循环,首先检查该该位置的元素是不是我们设立的标记-1,如果不是则循环次数加1,将队首指针移

北航自动控制原理实验报告(完整版)

自动控制原理实验报告 一、实验名称:一、二阶系统的电子模拟及时域响应的动态测试 二、实验目的 1、了解一、二阶系统阶跃响应及其性能指标与系统参数之间的关系 2、学习在电子模拟机上建立典型环节系统模型的方法 3、学习阶跃响应的测试方法 三、实验内容 1、建立一阶系统的电子模型,观测并记录在不同时间常数T时的响应曲线,测定过渡过程时间T s 2、建立二阶系统电子模型,观测并记录不同阻尼比的响应曲线,并测定超调量及过渡过程时间T s 四、实验原理及实验数据 一阶系统 系统传递函数: 由电路图可得,取则K=1,T分别取:0.25, 0.5, 1 T 0.25 0.50 1.00 R2 0.25MΩ0.5M Ω1MΩ C 1μ1μ1μ T S 实测0.7930 1.5160 3.1050 T S 理论0.7473 1.4962 2.9927 阶跃响应曲线图1.1 图1.2 图1.3 误差计算与分析 (1)当T=0.25时,误差==6.12%; (2)当T=0.5时,误差==1.32%; (3)当T=1时,误差==3.58% 误差分析:由于T决定响应参数,而,在实验中R、C的取值上可能存在一定误差,另外,导线的连接上也存在一些误差以及干扰,使实验结果与理论值之间存在一定误差。但是本实验误差在较小范围内,响应曲线也反映了预期要求,所以本实验基本得到了预期结果。 实验结果说明 由本实验结果可看出,一阶系统阶跃响应是单调上升的指数曲线,特征有T确定,T越小,过度过程进行得越快,系统的快速性越好。 二阶系统 图1.1 图1.2 图1.3

系统传递函数: 令 二阶系统模拟线路 0.25 0.50 1.00 R4 210.5 C2 111 实测45.8% 16.9% 0.6% 理论44.5% 16.3% 0% T S实测13.9860 5.4895 4.8480 T S理论14.0065 5.3066 4.8243 阶跃响应曲线图2.1 图2.2 图2.3 注:T s理论根据matlab命令[os,ts,tr]=stepspecs(time,output,output(end),5)得出,否则误差较大。 误差计算及分析 1)当ξ=0.25时,超调量的相对误差= 调节时间的相对误差= 2)当ξ=0.5时,超调量的相对误差==3.7% 调节时间的相对误差==3.4% 4)当ξ=1时,超调量的绝对误差= 调节时间的相对误差==3.46% 误差分析:由于本试验中,用的参量比较多,有R1,R2,R3,R4;C1,C2;在它们的取值的实际调节中不免出现一些误差,误差再累加,导致最终结果出现了比较大的误差,另外,此实验用的导线要多一点,干扰和导线的传到误差也给实验结果造成了一定误差。但是在观察响应曲线方面,这些误差并不影响,这些曲线仍旧体现了它们本身应具有的特点,通过比较它们完全能够了解阶跃响应及其性能指标与系统参数之间的关系,不影响预期的效果。 实验结果说明 由本实验可以看出,当ωn一定时,超调量随着ξ的增加而减小,直到ξ达到某个值时没有了超调;而调节时间随ξ的增大,先减小,直到ξ达到某个值后又增大了。 经理论计算可知,当ξ=0.707时,调节时间最短,而此时的超调量也小于5%,此时的ξ为最佳阻尼比。此实验的ξ分布在0.707两侧,体现了超调量和调节时间随ξ的变化而变化的过程,达到了预期的效果。 图2.2 图2.1 图2.3

自动控制原理课后习题答案

. 第一章引论 1-1 试描述自动控制系统基本组成,并比较开环控制系统和闭环控制系统的特点。答: 自动控制系统一般都是反馈控制系统,主要由控制装置、被控部分、测量元件组成。控制装置是由具有一定职能的各种基本元件组成的,按其职能分,主要有给定元件、比较元件、校正元件和放大元件。如下图所示为自动控制系统的基本组成。 开环控制系统是指控制器与被控对象之间只有顺向作用,而没有反向联系的控制过程。此时,系统构成没有传感器对输出信号的检测部分。开环控制的特点是:输出不影响输入,结构简单,通常容易实现;系统的精度与组成的元器件精度密切相关;系统的稳定性不是主要问题;系统的控制精度取决于系统事先的调整精度,对于工作过程中受到的扰动或特性参数的变化无法自动补偿。 闭环控制的特点是:输出影响输入,即通过传感器检测输出信号,然后将此信号与输入信号比较,再将其偏差送入控制器,所以能削弱或抑制干扰;可由低精度元件组成高精度系统。 闭环系统与开环系统比较的关键,是在于其结构有无反馈环节。 < 1-2 请说明自动控制系统的基本性能要求。 答: 自动控制系统的基本要求概括来讲,就是要求系统具有稳定性、快速性和准确性。 稳定性是对系统的基本要求,不稳定的系统不能实现预定任务。稳定性通常由系统的结构决定与外界因素无关。对恒值系统,要求当系统受到扰动后,经过一定时间的调整能够回到原来的期望值(例如恒温控制系统)。对随动系统,被控制量始终跟踪参量的变化(例如炮轰飞机装置)。 快速性是对过渡过程的形式和快慢提出要求,因此快速性一般也称为动态特性。在系统稳定的前提下,希望过渡过程进行得越快越好,但如果要求过渡过程时间很短,可能使动态误差过大,合理的设计应该兼顾这两方面的要求。 准确性用稳态误差来衡量。在给定输入信号作用下,当系统达到稳态后,其实际输出与所期望的输出之差叫做给定稳态误差。显然,这种误差越小,表示系统的精度

课程设计(约瑟夫环)[1]

课程设计报告 课程名称:数据结构课程设计课程设计题目:约瑟夫环问题 姓名:余明旭 系:计算机科学与技术专业:计算机科学与技术年级:2010级 学号:100310236 指导教师:陈老师 职称:学生

一、需求分析 1、输入的形式和输入值的范围: 本程序中,输入报数上限值n,初始报数者s,初始报数者携带的密码m1,n-2个人携带的密码m(最后一人携带的密码没用),均限定为正整数,输入的形式为一个以“回车符”为结束标志的正整数。 2、输出的形式: 从屏幕显示出列顺序。 3、程序所能够达到的功能: 提供用户从键盘输入,Joseph约瑟夫环的必要数据,并显示出列顺序。4、测试数据: 输入 8 1 4 4 4 4 4 4 4 输出 4 8 5 2 1 3 7 6 一、详细设计 以单向循环链表实现该结构: 1、抽象数据类型的定义为: struct LNode { ElemType data; LNode* next; }; 2、本程序包含以下模块: 主程序模块: Void main() { 初始化; 输入数据; 执行功能; 显示结果; } 各功能模块:实现单链表的各项功能。 Void fun() { } 3、各模块的调用关系:

三、调试分析 程序的编写和调试基本正常,遇到的问题主要是:指针的指向的边界问题,如何每次正确找到出列的人的位置。 解决方法: for(int j=1;jnext; if(cp==HL) { ap=HL; cp=HL->next; } } a[i]中存储了每个人的密码,就可以准确知道每个人的位置。 通过约瑟夫环算法的课题设计让我理解了循环队列,不单单只是书本上文字的循环队列的概念,更多是自己能够通过实际的操作对循环队列有了更深的了解。上机的编程的过程是对数据结构的基础的进一步的巩固。学习过程体验到了学习的乐趣,实验课题使我认识到平时学习的漏洞和知识的缺乏,为以后的学习敲了一下警钟,数据结构是门基础,要学习扎实才行。 数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。 数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安 排。数据结构是数据存在的形式。 数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。数据结构课程的主要目的是介绍一些常用的数据结构,阐明数据结构内在的逻辑关系,讨论它们在计算机中的存储表示,并结合各种数据结构,讨论对它们实行的 各种运算的实现算法。很多算法实际上是对某种数据结构施行的一种变换,研究算法也就是研究在实施变换过程中数据结构的动态性质。 学习的过程需要合作,而且在合作中提到自己的编程水平,借鉴他人好的地方,改掉原先自己不足,书本知识的与实际的联系,使自己的编程不在局限于原来的纸上谈兵,更多的是积累了经验,培养了能力。 四、用户手册 如何使用,详细步骤,根据提示输入。 示例: 主程序 Void main() 模块 Viod fun()

数据结构实验报告(约瑟夫环)

《数据结构》课程实验 实验报告 题目:Joseph问题求解算法的设计与实现专业:计算机科学与技术 班级: 姓名: 学号: 完成日期:

一、试验内容 约瑟夫(Joseph)问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。 二、试验目的 掌握链表的基本操作:插入、删除、查找等运算,能够灵活应用链表这种数据结构。 三、流程图 输入总人数n 创建并初始化 n个结点 输入第一个报 的数key n==0 报数过程 输出出列者 的编号及密 码 结束 n--

四、源程序代码 //Joseph问题求解算法的设计与实现 #include #include struct list { int num,code; struct list *next; }; void main() { printf("Joseph问题求解算法的设计与实现\n \n"); int i,j,m=1; int key; // 密码. int n; //人数 . list *p,*s,*head; head=(list *)malloc(sizeof(list)); //为头结点分配空间. p=head; printf("输入人的总个数:"); scanf("%d",&n); for(i=1;i<=n;i++) { key=rand() % 100; printf("第%d个人的密码:%d\n",i,key); s=p; p=(list *)malloc(sizeof(list)); //创建新的结点. s->next=p; p->num=i; p->code=key; } p->next=head->next; p=head; head=head->next; free(p); //释放头结点. p=head; do{ printf("\n第%d号成员的密码为:%d",p->num,p->code); //输出链表. p=p->next; }while(p!=head); printf("\n\n输入第一个报的数:\n"); scanf("%d",&key); printf("\n出列顺序为:\n"); do

数据结构课程设计——约瑟夫环报告(含代码)

#include #include typedef struct LNode { //数据域 int cipher; //密码 int number; //编号 struct LNode *next; //指针域 }LNode,*LinkList; void InitList(LinkList &L) //创建一个只有头结点链表{ L = (LinkList)malloc(sizeof(LNode)); if(!L) { exit(1); printf("/n/nError!/n/n"); } L->next = L; } void CreateList(int n,LinkList &L) //初始化循环单链表 { LinkList p,q; q = L; printf("分别输入每个人的密码:"); for(int i = 1;i <= n;i++) { int k; scanf("%d",&k); if(k <= 0) { printf("\n\n密码有误!\n\n"); exit(1); } p = (LinkList)malloc(sizeof(LNode)); if(!p) { exit(1); printf("/n/nError!/n/n"); } p->cipher = k; p->number = i;

L->next = p; L = p; } L->next = q->next; free(q); } void PrintList(int x,int n,LinkList L) //输出出列顺序 { LinkList p,q; p = L; for(int i = 1;i <= n;i++) { for(int j = 1;j < x;j++) p = p->next; q = p->next; x = q->cipher; printf("%d ",q->number); p->next = q->next; free(q); } } int main() { printf("=============约瑟夫环==============\n\n\n"); int n,x; LinkList L; L = NULL; InitList(L); //构造空链表 printf("输入初始密码:"); scanf("%d",&x); //初始密码为x printf("\n"); printf("输入参与总人数:"); scanf("%d",&n); //总共的人数n printf("\n"); CreateList(n,L); //建立好一个约瑟夫环printf("\n\n\n===================================\n\n"); printf("出列编号为:"); PrintList(x,n,L); //输出出列顺序 printf("\n\n"); return 0; }

自动控制原理习题及答案

第一章 习题答案 1-1 根据题1-1图所示的电动机速度控制系统工作原理图 (1) 将a ,b 与c ,d 用线连接成负反馈状态; (2) 画出系统方框图。 解 (1)负反馈连接方式为:d a ?,c b ?; (2)系统方框图如图解1-1 所示。 1-2 题1-2图是仓库大门自动控制系统原理示意图。试说明系统自动控制大门开闭的工作原理,并画出系统方框图。 题1-2图 仓库大门自动开闭控制系统 解 当合上开门开关时,电桥会测量出开门位置与大门实际位置间对应的偏差电压,偏差电压经放大器放大后,驱动伺服电动机带动绞盘转动,将大门向上提起。与此同时,和大门连在一起的电刷也向上移动,直到桥式测量电路达到平衡,电动机停止转动,大门达到开启位置。反之,当合上关门开关时,电动机带动绞盘使大门关闭,从而可以实现大门远距离开闭自动控制。系统方框图如图解1-2所示。

1-3 题1-3图为工业炉温自动控制系统的工作原理图。分析系统的工作原理,指出被控对象、被控量和给定量,画出系统方框图。 题1-3图 炉温自动控制系统原理图 解 加热炉采用电加热方式运行,加热器所产生的热量与调压器电压c u 的平方成正比,c u 增高,炉温就上升,c u 的高低由调压器滑动触点的位置所控制,该触点由可逆转的直流 电动机驱动。炉子的实际温度用热电偶测量,输出电压f u 。f u 作为系统的反馈电压与给定 电压r u 进行比较,得出偏差电压e u ,经电压放大器、功率放大器放大成a u 后,作为控制电动机的电枢电压。 在正常情况下,炉温等于某个期望值T °C ,热电偶的输出电压f u 正好等于给定电压r u 。此时,0=-=f r e u u u ,故01==a u u ,可逆电动机不转动,调压器的滑动触点停留在某个合适的位置上,使c u 保持一定的数值。这时,炉子散失的热量正好等于从加热器吸取的热量,形成稳定的热平衡状态,温度保持恒定。 当炉膛温度T °C 由于某种原因突然下降(例如炉门打开造成的热量流失),则出现以下的控制过程: 控制的结果是使炉膛温度回升,直至T °C 的实际值等于期望值为止。 ?→T C ?→↑→↑→↑→↑→↑→↓→↓T u u u u u c a e f θ1C ↑ 系统中,加热炉是被控对象,炉温是被控量,给定量是由给定电位器设定的电压r u (表征炉温的希望值)。系统方框图见图解1-3。

约瑟夫环-joseph环-数据结构与算法课程设计报告

合肥学院 计算机科学与技术系 课程设计报告 2009~2010学年第二学期 课程数据结构与算法 课程设计名称joseph环 学生姓名朱玉庭 学号0804012029 专业班级08计本(2) 指导教师王昆仑、张贯虹 2010 年06月08号

一、问题分析和任务定义: 约瑟夫环是一个数学游戏,根据游戏内容的描述,能够很容易的看出,游戏中的玩家顺时针围坐一圈,能够很容易的发现,这跟本课上的单循环链表非常相似,所以可以通过单循环链表存储结构模拟此过程,当游戏中的玩家出列时,可以通过删除单循环链表中的结点来实现。 二、数据结构的选择和概要设计: 选择带为指针的单循环链表来解决这个问题,先建立一个空链表,然后根据人数生成具有相应结点的单循环链表,知道密码后,通过循环来找到对应的结点,然后将该结点的编号输出,改变密码,最后删除结点,以此类推,知道编码全部输完,即可得到结果序列。 三、详细设计和编码: 本题目是通过单循环链表存储结构来模拟此过程的,首先要先明确该单循环链表中结点的结构类型,定义如下: typedef struct Node { int key; //每个人持有的密码 int num; //这个人的编号 struct Node *next; //指向下一个结点 }Link; 当生成单循环链表时,就需要用到课本上创建单循环链表的有关内容了,可以先通过子函数Link *InitList()建立一个空链表,返回指针L,然后将返回的指针代入子函数Link *Creater(Link *L,int n)的形参中,对循环链表进行初始化,并且也返回一个指针,然后再将这个返回的指针代入到输出函数void Output(Link *L,int n,int m)的形参中,要想根据题目要求完成序列的输出,需要通过两个for循环来实现,第一个循环for(i=1;i<=n;i++) ,因为一个用n个人,所以结果要输出n个编号,这个循环每循环一次输出一个编号即printf("%d ",q->num),并将该编号下的密码赋值给m 即m=q->key,当循环完毕时正好将编号全部输出,第二个循环for(j=1;jnext; q=p->next; 用以找到相应的结点,并用指针q指向它,当完成了编号的输出和密码的赋值后,删除q指向的结点,将两个循环适当结合,即可输出正确的结果序列,其中的人数n和初始密码在主函数中确定。 四、上机调试: (1)有2个玩家,初始密码为21; (2)有3个玩家,初始密码为5:

数据结构实验报告—约瑟夫问题求解

《计算机软件技术基础》实验报告 I —数据结构 实验一、约瑟夫斯问题求解 一、问题描述 1.实验题目:编号 1,2,....,n的n个人顺时针围坐一圈,每人持有一个密码(正整数)。 开始选择一个正整数作为报数上限m,从第一个人开始顺时针自 1 报数,报到m的人出列,将他的密码作为新的m值,从他在顺时针方向下一个人开始重新从 1 报数,直至所有人全部出列。 2. 基本要求:利用单向循环链表存储结构模拟此过程,按照出列的顺序印出个人的编号。 3. 测试数据: n=7,7 个人的密码依次为:3,1,7,2,4,8, 4.m初值为6(正确的出列顺序 应为 6,1,4,77,2,3)。 二、需求分析 1. 本程序所能达到的基本可能: 该程序基于循环链表来解决约瑟夫问题。用循环链表来模拟n 个人围坐一圈,用链表 中的每一个结点代表一个人和他所代表的密码。在输入初始密码后m,对该链表进行遍历,直到第 m个结点,令该结点的密码值作为新的密码值,后删除该结点。重复上述过程,直至所有的结点被释放空间出列。 2. 输入输出形式及输入值范围: 程序运行后提示用户输入总人数。输入人数 n 后,程序显示提示信息,提示用户输入第 i个人的密码,在输入达到预定次数后自动跳出该循环。程序显示提示信息,提示用户输入 初始密码,密码须为正整数且不大于总人数。 3.输出形式 提示用户输入初始密码,程序执行结束后会输出相应的出列结点的顺序,亦即其编号。 用户输入完毕后,程序自动运行输出运行结果。 4.测试数据要求: 测试数据 n=7,7 个人的密码依次为:3, 1, 7, 2, 4, 8, 4。 m初值为 6(正确的出列 顺序应为6, 1, 4,7, 2, 3, 5)。 三、概要设计 为了实现上述功能,应用循环链表来模拟该过程,用结构体来存放其相应的编号和密码

自动控制原理实验报告73809

-150-100 -50 50 实验一 典型环节的模拟研究及阶跃响应分析 1、比例环节 可知比例环节的传递函数为一个常数: 当Kp 分别为0.5,1,2时,输入幅值为1.84的正向阶跃信号,理论上依次输出幅值为0.92,1.84,3.68的反向阶跃信号。实验中,输出信号依次为幅值为0.94,1.88,3.70的反向阶跃信号, 相对误差分别为1.8%,2.2%,0.2%. 在误差允许范围内可认为实际输出满足理论值。 2、 积分环节 积分环节传递函数为: (1)T=0.1(0.033)时,C=1μf (0.33μf ),利用MATLAB ,模拟阶跃信号输入下的输出信号如图: T=0.1 T=0.033 与实验测得波形比较可知,实际与理论值较为吻合,理论上T=0.033时的波形斜率近似为T=0.1时的三倍,实际上为8/2.6=3.08,在误差允许范围内可认为满足理论条件。 3、 惯性环节 i f i o R R U U -=TS 1 CS R 1Z Z U U i i f i 0-=-=-=15 20

惯性环节传递函数为: K = R f /R 1,T = R f C, (1) 保持K = R f /R 1 = 1不变,观测T = 0.1秒,0.01秒(既R 1 = 100K,C = 1μf , 0.1μf )时的输出波形。利用matlab 仿真得到理论波形如下: T=0.1时 t s (5%)理论值为300ms,实际测得t s =400ms 相对误差为:(400-300)/300=33.3%,读数误差较大。 K 理论值为1,实验值2.12/2.28, 相对误差为(2.28-2.12)/2.28=7%与理论值 较为接近。 T=0.01时 t s (5%)理论值为30ms,实际测得t s =40ms 相对误差为:(40-30)/30=33.3% 由于ts 较小,所以读数时误差较大。 K 理论值为1,实验值2.12/2.28, 相对误差为(2.28-2.12)/2.28=7%与理论值较为接近 (2) 保持T = R f C = 0.1s 不变,分别观测K = 1,2时的输出波形。 K=1时波形即为(1)中T0.1时波形 K=2时,利用matlab 仿真得到如下结果: t s (5%)理论值为300ms,实际测得t s =400ms 相对误差为:(400-300)/300=33.3% 读数误差较大 K 理论值为2,实验值4.30/2.28, 1 TS K )s (R )s (C +-=

相关文档
最新文档