当前位置:文档之家› matlab控制应用

matlab控制应用

matlab控制应用
matlab控制应用

第1章 概述

控制系统设计是控制科学与工程系学生的一门必修专业基础课,课程中的一些概念相对比较抽象,如系统的稳定性、可控性、收敛速度和抗干扰能力等。倒立摆系统是一个典型的非线性、强耦合、多变量和不稳定系统,作为控制系统的被控对象,它是一个理想的教学实验设备,许多抽象的控制概念都可以通过倒立摆直观地表现出来。本课程设计的目的是让学生以一阶倒立摆为被控对象,了解用古典控制理论设计控制器(如PID 控制器)的设计方法和用现代控制理论设计控制器(最优控制)的设计方法,掌握MATLAB 仿真软件的使用方法及控制系统的调试方法,加深学生对所学课程的理解,培养学生理论联系实际的能力。

本课程设计的被控对象采用固高公司生产的GIP-100-L 型一阶倒立摆系统,课程设计包括三方面的内容:

(1)建立一阶倒立摆的线性化数学模型;

(2)倒立摆系统的PID 控制器设计、MATLAB 仿真及实物调试; (3)倒立摆系统的最优控制器设计、MATLAB 仿真及实物调试。

1.1 实验设备简介

一阶倒立摆系统的结构示意图如图1所示。

小车

滑轨

皮带

电机

摆杆

图1 一阶倒立摆结构示意图

系统组成框图如图2所示。

图2 一阶倒立摆系统组成框图

系统是由计算机、运动控制卡、伺服机构、倒立摆本体和光电码盘几大部分组成的闭环系统。光电码盘1将小车的位移、速度信号反馈给伺服驱动器和运动控制卡,摆杆的角度、角速度信号由光电码盘2反馈给运动控制卡。计算机从运动控制卡中读取实时数据,确定控制决策(小车运动方向、移动速度、加速度等),并由运动控制卡来实现该控制决策,产生相应的控制量,使电机转动,通过皮带,带动小车运动,保持摆杆平衡。

1.2设计内容

1.建立一阶倒立摆数学模型

在《自动控制理论》课程中,有一章专门讲述控制系统的数学模型的建立方法,并将非线性数学模型在一定条件下化简成线性数学模型,在此以一阶倒立摆为例,建立其数学模型,并在摆角

φ附近将其非线性数学模型线性化,学生通过实际数学模型的推导,加深对所学内容的理解。=

2. 控制系统的MATLAB仿真

《自动控制理论》(古典部分)中所讲的控制器的设计方法很多,如根轨迹设计法、频率特性设计法和PID设计法,在实际系统中PID控制器应用最多,在本课程设计中选择PID控制器,PID 控制器的特点是只能对单变量(此处为摆杆角度)进行控制。在《现代控制理论》中,普遍采用的控制方法是最优控制(LQR控制),最优控制可对多变量进行控制(如同时控制摆杆角度和小车位置),由于《现代控制理论》课时较少,对最优控制的讲解也很少,在这里通过对倒立摆的控制,让学生理解单变量控制和多变量控制的差别。本部分课程设计的目的是学习PID控制器和LQR控制器的设计方法,了解控制器参数对系统性能指标的影响,学会根据控制指标要求和实际响应调整控制器的参数,加深学生对所学内容的理解。

系统的MATLAB控制软件已编好,学生在进行控制系统设计时,只需将控制器参数输入,就可观察到控制系统的输出,仿真的目的一方面是让学生得到满足系统性能指标的控制器参数,另一方面是让学生将理论分析与仿真结果进行对比,更直观地理解各参数对控制性能的影响。

3. 倒立摆控制系统实物调试

倒立摆系统实验装置如图3所示。

具体实验步骤如下:

(1)将小车推到导轨正中间位置,并且使摆杆处于自由下垂的静止状态。

(2)给计算机和电控箱通电。

(3)打开计算机,在DOS操作系统下启动程序,并使系统处于准备状态。

(4)起摆:由于PID控制只能控制摆杆的摆角,不能控制小车的位置,若用PID控制方式起摆,可能在摆杆竖起前就已出现“撞墙”现象,因此先采用最优控制方式起摆,等摆杆立起来并稳定下来之后,选择控制器菜单中的控制方式,输入参数,观察小车和摆杆的运动。由于PID控制器只对摆杆角度进行控制,所以在PID控制中小车可能向一个方向运动,此时需用手轻轻扶一下摆杆,以避免小车“撞墙”。最优控制方式可同时对摆杆角度和小车位置进行控制,因此不会出现“撞墙”现象。

(5)观察控制效果:用金属棒碰一下摆杆,观察倒立摆在干扰信号作用下的输出响应。若不能达到指标要求,分析原因,重新设计,直到对实际系统的控制达到满意的结果。

具体实验操作见附录1。

图3 倒立摆实验装置

1.3 实验准备及注意事项

1.为了安全起见,在进行系统连线、拆卸与安装前,必须关闭系统所有电源。

2.使用前请仔细检查连线,确保接线正确无误。如果码盘连线接反或断线,将会发生冲撞。

3.为了避免设备失控时造成人身伤害,操作时人员应该与设备保持安全距离,一定不要站在摆的两端。

4.如果发生异常,按下空格键,系统会提示“急停按钮被触发,无法继续控制系统,按任意键退出程序。”

5.超速时,系统会自动关闭伺服电机,并出现“小车失速,系统被终止,按任意键退出程序。”

1.4 课程设计任务书

哈尔滨工业大学课程设计任务书

姓名:院(系):

专业:班号:

任务起至日期:年月日至年月日

课程设计题目:一阶倒立摆控制器设计

已知技术参数和设计要求:

本课程设计的被控对象采用固高公司的一阶倒立摆系统GIP-100-L。

系统内部各相关参数为:

M小车质量0.5 Kg ;m摆杆质量0.2 Kg ;b小车摩擦系数0.1 N/m/sec ;l摆杆转动轴心到杆质心的长度0.3 m ;I摆杆惯量0.006 kg*m*m ;T采样时间0.005秒。

设计要求:

1.推导出系统的传递函数和状态空间方程。用Matlab进行脉冲输入仿真,验证系统的稳定性。

2.设计PID控制器,使得当在小车上施加1N的脉冲信号时,闭环系统的响应指标为:(1)稳定时间小于5秒

(2)稳态时摆杆与垂直方向的夹角变化小于0.1 弧度

3.设计最优控制器,使得当在小车上施加0.2m的阶跃信号时,闭环系统的响应指标为:(1)摆杆角度θ和小车位移x的稳定时间小于5秒

(2)x的上升时间小于1秒

(3)θ的超调量小于20度(0.35弧度)

(4)稳态误差小于2%。

工作量:

1. 建立一阶倒立摆的线性化数学模型;

2. 倒立摆系统的PID控制器设计、MATLAB仿真及实物调试;

3. 倒立摆系统的最优控制器设计、MATLAB仿真及实物调试。

工作计划安排:

同组设计者及分工:

各项工作独立完成

指导教师签字___________________

年月日教研室主任意见:

教研室主任签字___________________

年月日*注:此任务书由课程设计指导教师填写。

第2章 一阶倒立摆的数学模型

设计目的:

建立一阶倒立摆系统的数学模型,并在摆角0=φ附近将其非线性数学模型线性化,学生通过实际数学模型的推导,加深对系统建模和模型线性化问题的理解。

对系统加入输入信号,进行Matlab 仿真,理解不稳定极点对系统稳定性的影响。 设计要求:

写出系统的动态方程,得出传递函数和状态空间方程。用Matlab 进行脉冲输入仿真,验证系统的稳定性。

2.1 一阶倒立摆数学模型的推导

对系统建立数学模型是系统分析、设计的前提,而一个准确又简练的数学模型将大大简化后期的工作。为了简化系统分析,在实际的模型建立过程中,要忽略空气流动阻力,以及各种次要的摩擦阻力。这样,可将倒立摆系统抽象成小车和匀质

刚性杆组成的系统,如下图所示。

本系统内部各相关参数定义如下:

M 小车质量

m 摆杆质量

b 小车摩擦系数

l 摆杆转动轴心到杆质心的长度 I 摆杆惯量

F 加在小车上的力

x 小车位置

φ 摆杆与垂直向上方向的夹角

θ 摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)

下图是系统中小车和摆杆的受力分析图。其中,N 和P 为小车与摆杆相互作用力的水平和垂

直方向的分量。

注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向定义如图,图示方向为矢量正方向。

应用Newton 方法来建立系统的动力学方程过程如下: 分析小车水平方向所受的合力,可以得到以下方程:

N x b F x

M --=

由摆杆水平方向的受力进行分析可以得到下面等式:

2

2(sin )d N m x l dt

θ=+

即:2

cos sin N mx

ml ml θθθθ=+- 把这个等式代入上式中,就得到系统的第一个运动方程:

F ml ml x b x

m M =-+++θθθθsin cos )(2 (2-1) 为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程:

2

2(cos )d P mg m l dt

θ-=-

即:2

sin cos P mg ml ml θ

θθθ-=+ 力矩平衡方程如下:

θ

θθ I Nl Pl =--cos sin 注意:此方程中力矩的方向,由于θφθφφπθsin sin ,cos cos ,-=-=+=,故等式前面有负号。

合并这两个方程,约去P 和N ,得到第二个运动方程:

θθθcos sin )(2x

ml mgl ml I -=++ (2-2) 1.微分方程模型

设φπθ+=,当摆杆与垂直向上方向之间的夹角φ与1(单位是弧度)相比很小,即 1<<φ

时,则可以进行近似处理:1cos -=θ,φθ-=sin ,0)(

2

=dt

d θ。为了与控制理论的表达习惯相统一,即u 一般表示控制量,用u 来代表被控对象的输入力F ,线性化后得到该系统数学模型的微分方程表达式:

()

?????=-++=-+u m l x b x m M x m l m gl m l I φφφ

)(2 (2-3)

2.传递函数模型

对方程组(2-3)进行拉普拉斯变换,得到

()

?????=Φ-++=Φ-Φ+)

()()()()()()()(2

222

2s U s s m l s s bX s s X m M s s m lX s m gl

s s m l I (2-4) 注意:推导传递函数时假设初始条件为0。

由于输出为角度φ,求解方程组(2-4)的第一个方程,可以得到

)(])([)(22s s

g ml ml I s X Φ-+=

把上式代入方程组(2-4)的第二个方程,得到

)()()()()()()(2222

2s U s s ml s s s g ml

ml I b s s s g ml ml I m M =Φ-Φ??????+++Φ??????-++

整理后得到以输入力u 为输入量,以摆杆摆角φ为输出量的传递函数:

()s

q

bmgl

s q mgl m M s q ml I b s s

q ml s U s s G -+-++=Φ=23242

1)()()()( 其中 ])())([(2

2

ml ml I m M q -++= 若取小车位移为输出量,可得传递函数:

s

q

bmgl s q mgl m M s q ml I b s ?q mgl

s q ml I s U s X s G -+-++-

+==2324

222)()()()()()(

3.状态空间数学模型

由现代控制理论原理可知,控制系统的状态空间方程可写成如下形式:

Du

CX Y Bu AX X

+=+=

方程组(2-3)对φ ,x

解代数方程,得到如下解: ?????

?

???

??+++++++++-==++++++++++-==u Mm l m M I m l Mm l m M I m M m gl x Mm l m M I m lb u Mm l m M I m l I Mm l m M I gl m x Mm l m M I b m l I x x x

2222

222222)()()()()()()()()(φφφφφ

整理后得到系统状态空间方程:

u Mm l m M I m l Mm l m M I m l

I x x Mm l m M I m M m gl Mm l m M I m lb

Mm l m M I gl m Mm l m M I b m l I x x ???

?????

????????++++++?????????????????????

??

??????

?+++++-+++++-=??????????????2222

22

2

2

2

2)(0)(00)()()(010

000)()()(0001

0φφφφ u x x x Y ??

????+?????

?

?

?????????????=??????=0001000001φφφ 以上就是一阶倒立摆小车系统的状态空间表达式。

2.2 系统MATLAB 仿真和开环响应

1.传递函数

在Matlab 中,拉普拉斯变换后得到的传递函数可以通过计算并输入分子和分母矩阵来实现。

假设系统内部各相关参数为:

M 小车质量

0.5 Kg m 摆杆质量

0.2 Kg b 小车摩擦系数

0.1 N/m/sec

l 摆杆转动轴心到杆质心的长度 0.3 m

I摆杆惯量0.006 kg*m*m

T采样时间0.005秒

文件trans.m用于求系统传递函数、传递函数的极点以及开环脉冲响应。% —————— trans.m ——————

% 倒立摆传递函数、开环极点及开环脉冲响应

% 输入倒立摆传递函数G(S)=num/den

M = 0.5;

m = 0.2;

b = 0.1;

I = 0.006;

g = 9.8;

l = 0.3;

q = (M+m)*(I+m*l^2)-(m*l)^2;

% 计算并显示多项式形式的传递函数

num = [m*l/q 0 0]

den = [1 b*(I+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q 0]

% 计算并显示传递函数的极点p

[r,p,k] = residue(num,den);

s = p

% 求传递函数的脉冲响应并显示

t=0:0.005:5;

impulse(num,den,t)

% 显示范围:横坐标0-1,纵坐标0-60,此条语句参数可根据仿真输出曲线调整 axis([0 1 0 60]) grid

% —————— end ——————

执行上面的文件,得到系统传递函数的分子(num )与分母(den )多项式的Matlab 表示及系统的开环极点(s ),显示结果如下所示:

>> trans num =

4.5455 0 0 den =

1.0000 0.1818 -31.1818 -4.4545 0 s = -5.6041 5.5651 -0.1428 0

>>

由此可知,系统传递函数的多项式表达式为:

()2

4

32

() 4.5455()0.181831.1818 4.4545s s G s U s s s s s

Φ==+-- 系统的开环极点为6041.51-=s 、5651.52=s 、1428.03-=s 、40s =,由于有一个开环极点位于S 平面的右半部,开环系统不稳定。

MATLAB 仿真的开环脉冲响应(即给系统加一个脉冲推力)曲线如下图所示,系统不稳定。

00.10.20.30.40.50.60.70.80.91

10

20

30

40

50

60

Impulse Response

Time (sec)

A m p l i t u d e

2.状态空间法

状态空间法可以进行单输入多输出系统设计,因此在这个实验中,我们将尝试同时对摆杆角度和小车位置进行控制。为了更具挑战性,给小车加一个阶跃输入信号。

我们用 Matlab 求出系统的状态空间方程各矩阵,并仿真系统的开环阶跃响应。在这里给出一个state.m 文件,执行这个文件,Matlab 将会给出系统状态空间方程的A ,B ,C 和D 矩阵,并绘出在给定输入为一个0.2 m 的阶跃信号时系统的响应曲线。state.m 程序如下: % —————— state.m —————— % 倒立摆状态方程及开环阶跃响应 % 输入倒立摆相关参数 M = 0.5; m = 0.2; b = 0.1; I = 0.006; g = 9.8; l = 0.3;

% p 用于状态方程计算 p = I*(M+m)+M*m*l^2;

% 输入倒立摆状态方程并显示

A = [0 1 0 0;

0 -(I+m*l^2)*b/p (m^2*g*l^2)/p 0;

0 0 0 1;

0 -(m*l*b)/p m*g*l*(M+m)/p 0]

B = [ 0;

(I+m*l^2)/p;

0;

m*l/p]

C = [1 0 0 0;

0 0 1 0]

D = [0;

0]

% 求开环系统的阶跃响应并显示

T = 0:0.005:5;

U = 0.2*ones(size(T));

[Y,X] = lsim(A,B,C,D,U,T);

plot(T,Y)

% 显示范围:横坐标0-2,纵坐标0-100,此条语句参数可根据仿真输出曲线调整axis([0 2 0 100])

grid

% —————— end ——————

执行上面的文件,得到系统的状态空间A、B、C、D矩阵, 显示结果如下所示:>> state

A =

0 1.0000 0 0

0 -0.1818 2.6727 0

0 0 0 1.0000

0 -0.4545 31.1818 0

B =

1.8182

4.5455

C =

1 0 0 0 0 0 1 0 D = 0 0 >>

MATLAB 仿真的开环阶跃响应曲线如下图所示,系统不稳定。

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

0102030405060708090

100

图中,实线是摆杆角度响应曲线,虚线是小车位置响应曲线。

2.3 模型仿真实验

1.实验步骤

实际系统参数如下,按照上面给出的例子求系统的传递函数、状态空间方程,并进行脉冲响应和阶跃响应的Matlab 仿真。

M 小车质量

1.096 Kg m 摆杆质量

0.109 Kg b 小车摩擦系数

0 .1N/m/sec

l摆杆转动轴心到杆质心的长度0.2 5m

I摆杆惯量0.0034 kg*m*m

F加在小车上的力

x小车位置

摆杆与垂直方向的夹角

T采样频率0.005秒

注意:在进行实际系统的Matlab仿真时,请将采样频率改为实际系统的采样频率。

2.设计报告要求

(1)推导一阶倒立摆的数学模型,并将其在工作点线性化,给出微分方程、传递函数和状态空间表达式三种数学模型。

(2)给出仿真结果和响应曲线。

(3)分析系统的稳定性。

第3章 倒立摆系统的PID 控制算法设计

本章主要利用PID 控制算法对一阶倒立摆系统进行控制器设计。在设计的过程中,要求熟悉控制参数P K 、I K 、D K 对系统性能的影响,然后按照所要求的控制指标并综合实际响应结果恰当地调整参数。运用MATLAB 仿真软件可以快捷地进行系统仿真和参数调整,本章第2节的内容即是运用MATLAB 软件对PID 控制系统的设计和仿真。第3节中,将对控制系统进行实际的运行和参数调试,以获得一组最佳的PID 控制参数。

设计目的:

学习PID 控制器的设计方法,了解控制器各个参数对系统性能的影响,学会根据控制指标要求和实际响应调整PID 控制器的参数。

设计要求:

设计PID 控制器,使得当在小车上施加1N 的脉冲信号时,闭环系统的响应指标为: (1)稳定时间小于5秒

(2)稳态时摆杆与垂直方向的夹角变化小于0.1 弧度

3.1 理论分析

1.PID 控制原理

在模拟控制系统中,控制器最常用的控制规律是PID 控制。常规PID 控制系统原理框图如下图所示。系统由模拟PID 控制器KD(S)和被控对象G(S)

组成。

PID 控制器是一种线性控制器,它根据给定值)(t r 与实际输出值()y t 构成控制偏差)(t e

()()()e t r t y t =-

将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,对被控对象进行控制,故称PID 控制器。其控制规律为

???

??

?++=?dt t de T dt t e T t e K t u D t

I P )()(1)()(0

或写成传递函数的形式

???

? ??++==

s T s T K s E s U s G D I P 1

1)()()( 式中:P K ——比例系数;I T ——积分时间常数;D T ——微分时间常数。 在控制系统设计和仿真中,也将传递函数写成

s K s

K K s E s U s G D I P ++==

)()

()( 式中:P K ——比例系数;I K ——积分系数;D K ——微分系数。 简单说来,PID 控制器各校正环节的作用如下:

(1)比例环节:成比例地反映控制系统的偏差信号)(t e ,偏差一旦产生,控制器立即产生控制作用,以减少偏差。

(2)积分环节:主要用于消除稳态误差,提高系统的型别。积分作用的强弱取决于积分时间常数I T ,I T 越大,积分作用越弱,反之则越强。

(3)微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在

系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。

2.摆杆角度控制

这个控制问题和我们以前遇到的标准控制问题有些不同,在这里输出量为摆杆的位置,它的初始位置为垂直向上,我们给系统施加一个扰动,观察摆杆的响应。系统框图如下:

图中)(s KD 是控制器传递函数,)(s G 是被控对象传递函数。 考虑到输入0)(=s r ,结构图可以很容易地变换成

该系统的输出为

)()

)(())(()

()

()

)(())((1)()

()(1)()(s F num num PID den denPID denPID num s F den denPID num num PID den num

s F s G s KD s G s y +=+=+=

其中: num ——被控对象传递函数的分子项

den ——被控对象传递函数的分母项 numPID ——PID 控制器传递函数的分子项 denPID ——PID 控制器传递函数的分母项

被控对象的传递函数是

den num s

q

bmgl s q mgl m M s q ml I b s s

q ml s U s =-+-++=Φ2324

2

)()()()(

其中 ])())([(2

2

ml ml I m M q -++= PID 控制器的传递函数为

denPID

numPID

s K s K s K s K K s K s KD I P D I P D =++=++=2)(

只需调节PID 控制器的参数,就可以得到满意的控制效果。

3.小车位置控制

小车位置作为输出时,系统框图如下:

其中,)(1s G 是摆杆传递函数,)(2s G 是小车传递函数。

由于输入信号0)(=s r ,所以可以把结构图转换成:

其中,反馈环代表我们前面设计的摆杆的控制器。

从此框图我们可以看出此处只对摆杆角度进行了控制,并没有对小车位置进行控制。

小车位置输出为:

)

()

)()(())()(()

)()(()

())(())((1)()

()(1)()(212112112

2

12s F den num numPID den den denPID den denPID num s F den denPID num numPID den num s F s G s KD s G s X +=

+=+=

其中,1num ,1den ,2num ,2den 分别代表被控对象1和被控对象2传递函数的分子和分母。

numPID 和denPID 代表PID 控制器传递函数的分子和分母。下面我们来求)(2s G ,根据前面实

验二的推导,有

)(])([)(22s s

g

ml ml I s X Φ-+=

可以推出小车位置的传递函数为

s

q

bmgl

s q mgl m M s q ml I b s q mgl

s q ml I s U s X s G -+-++-

+==2324222)()()()()()( 其中 ])())([(22ml ml I m M q -++=

可以看出,1den =2den =den ,小车的算式可以简化成:

)()

)(())(()

)(()(12s F num numPID k den denPID denPID num s X +=

3.2 PID 控制算法的MATLAB 仿真

1.摆杆角度控制算法的仿真

文件pid1.m 是输出为摆杆角度φ时系统的脉冲响应仿真软件,其中参数P K 、I K 、D K 分别为PID 控制器的比例、微分和积分参数。文件如下: % —————— pid1.m —————— % 摆杆角度PID 控制

% 输入倒立摆传递函数 G1(S)=num1/den1 M = 0.5; m = 0.2; b = 0.1; I = 0.006; g = 9.8; l = 0.3;

q = (M+m)*(I+m*l^2)-(m*l)^2; num1 = [m*l/q 0 0];

den1 = [1 b*(I+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q 0]; % 输入控制器PID 数学模型 Gc(s)=numPID/denPID Kp = 1; Ki = 1; Kd = 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.

基于Matlab的自动控制系统设计与校正

自动控制原理课程设计设计题目:基于Matlab的自动控制系统设计与校正

目录 第一章课程设计内容与要求分析.................................................... 错误!未定义书签。 1.1设计内容 (1) 1.2 设计要求 (1) 1.3 Matlab软件 (2) 1.3.1基本功能 (2) 1.3.2应用 (2) 第二章控制系统程序设计 (4) 2.1 校正装置计算方法 (4) 2.2 课程设计要求计算 (4) 第三章利用Matlab仿真软件进行辅助分析 (6) 3.1校正系统的传递函数 (6) 3.2用Matlab仿真 (6) 3.3利用Matlab/Simulink求系统单位阶跃响应 (8) 3.2.1原系统单位阶跃响应 (8) 3.2.2校正后系统单位阶跃响应 (8) 3.2.3校正前、后系统单位阶跃响应比较 (8) 3.4硬件设计 (8) 3.4.1在计算机上运行出硬件仿真波形图 (9) 课程设计心得体会 (10) 参考文献 (12)

1 第一章 课程设计内容与要求分析 1.1设计内容 针对二阶系统 )1()(+= s s K s W , 利用有源串联超前校正网络(如图所示)进行系统校正。当开关S 接通时为超前校正装置,其传递函数 11 )(++-=Ts Ts K s W c c α, 其中 1 3 2R R R K c += , 1 ) (13243 2>++ =αR R R R R ,C R T 4=, “-”号表示反向输入端。若Kc=1,且开关S 断开,该装置相当于一个放大系数为1的放大器(对原系统没有校正作用)。 1.2 设计要求 1 1.0)(≤∞e ,开环截止频率ω’≥45°; 2 3) 4)设校正装置网络元件参数R4、5R=100K ,C=1μF 、10μF 若干个); 6)利用Matlab 仿真软件辅助分析,绘制校正前、后及校正装置对数频率特性曲线,并验算设计结果; 7)在Matlab-Simulink 下建立系统仿真模型,求校正前、后系 统单位阶跃响应特性,并进行系统性能比较; 8)利用自动控制原理实验箱完成硬件设计过程,包括:搭建校正前后 c R R

随机过程matlab程序

基本操作 -5/(4.8+5.32)^2 area=pi*2.5^2 x1=1+1/2+1/3+1/4+1/5+1/6 exp(acos(0.3)) a=[1 2 3;4 5 6;7 8 9] a=[1:3,4:6,7:9] a1=[6: -1:1] a=eye(4) a1=eye(2,3) b=zeros(2,10) c=ones(2,10) c1=8*ones(3,5) d=zeros(3,2,2); r1=rand(2, 3) r2=5-10*rand(2, 3) r4=2*randn(2,3)+3 arr1=[1.1 -2.2 3.3 -4.4 5.5] arr1(3) arr1([1 4]) arr1(1:2:5) arr2=[1 2 3; -2 -3 -4;3 4 5] arr2(1,:) arr2(:,1:2:3) arr3=[1 2 3 4 5 6 7 8] arr3(5:end) arr3(end) 绘图

x=[0:1:10]; y=x.^2-10*x+15; plot(x,y) x=0:pi/20:2*pi y1=sin(x);y2=cos(x); plot(x,y1,'b-'); hold on; plot(x,y2,‘k--’); legend (‘sin x’,‘cos x’); x=0:pi/20:2*pi; y=sin(x); figure(1) plot(x,y, 'r-') grid on 以二元函数图 z = xexp(-x^2-y^2) 为例讲解基本操作,首先需要利用meshgrid 函数生成X-Y平面的网格数据,如下所示: xa = -2:0.2:2; ya = xa; [x,y] = meshgrid(xa,ya); z = x.*exp(-x.^2 - y.^2); mesh(x,y,z); 建立M文件 function fenshu( grade ) if grade > 95.0 disp('The grade is A.'); else if grade > 86.0 disp('The grade is B.'); else

自动控制原理习题全解及MATLAB实验 第6章习题解答

第6章控制系统的校正 本章主要讨论利用频率法对单输入-单输出的线性定常系统的综合和设计。在介绍控制系统校正的基本概念、控制系统的基本控制规律的基础上,介绍了各种串联校正装置(超前校正装置、滞后校正装置、滞后-超前校正装置)的特性及按分析进行相应设计的基本步骤和方法;还介绍了期望设计法的基本概念、常见的期望特性和设计步骤;另外还介绍了根轨迹法的串联校正和反馈校正的基本概念和方法;最后介绍了利用MATLAB进行控制系统校正。 教材习题同步解析 试分别说明系统的固有频率特性与系统期望频率特性的概念。 答:系统本身固有元件所具有的频率特性称为固有频率特性。设计者希望系统所能达到的频率特性称为系统期望频率特性。 试比较串联校正和反馈校正的优缺点。 答:a、校正装置和未校正系统的前向通道环节相串联,这种叫串联校正,串联校正是最常用的设计方法,设计与实现比较简单,通常将串联装置安置在前向通道的前端。 b、并联校正也叫反馈校正,它是和前向通道的部分环节按反馈方式连接构成局部反馈回路,设计相对较为复杂。并联校正一般不需要加放大器,它可以抑制系统的参数波动及非线性因素对系统性能的影。 PD控制为什么又称为超前校正?串联PD控制器进行校正为什么能提高系统的快速性和稳定性? 答:加入PD控制相当于在系统中加入一个相位超前的串联校正装置,使之在穿越频率处有较大的相位超前角。因此,PD控制称为超前控制。PD控制的传递函数为G s Kp sτ =+,由比例控制和微分控制组合而成。增大比例系数Kp,可以展宽系统的()(1) 通频带,提高系统的快速性。微分控制反映信号的变化率的预报作用,在偏差信号变化前给出校正信号,防止系统过大地偏离期望值和出现剧烈振荡倾向,有效地增强系统的相对稳定性。 PI控制为什么又称为滞后校正?串联PI控制器进行校正为什么能提高系统的稳态性能?如何减小它对系统稳定性的影响? 答:PI控制在低频段产生较大的相位滞后,所以滞后校正。PI控制的比例部分可以提高系统的无差度,改善系统的稳态性能。在串入系统后应使其转折频率在系统幅值穿越频率

自动控制matlab报告

自动控制原理实验报告 ——控制系统的阶跃响应 09021209 侯竟骁 一、实验目的 1、观察学习控制系统的单位阶跃响应; 2、记录单位阶跃响应曲线; 3、掌握时间响应分析的一般方法。 二、实验步骤 1、开机执行程序 c:\ml\bin\matlab-s.exe (用鼠标双击图标)进入MATLAB 命令窗口:“Command Windows ”。 2、建立系统模型 在MATLAB 命令窗口上,以立即命令方式建立系统的传递函数。在MATLAB 下,系统传递函数有三种描述方式,在实验中只用到多项式模型和零点极点模型 多项式模型 ) ()()(s s s den num G = 式中“num(s)”表示分子多项式的系数,“den(s)”表示分母多项式的系数,全部按照复自变量s 的降幂排列,以行向量的方式输入。例如,程序为 num=[0 1 3]; 分子多项式系数 den=[1 2 2 1]; 分母多项式系数 printsys(num,den); 构造传递函数G(s)并显示 零点极点模型 ∏ ∏--= n i m j s s s ) () ()(p z k G 式中,k 为增益值,z j 为第j 个零点值,p i 为第i 个零点值。例如,程序为 k=2; 赋增益值,标量 z=[1]; 赋零点值,向量 p=[-1 2 -3]; 赋极点值,向量 [num,den]=zp2tf(z,p,k); 零点极点模型转换成多项式模型 printsys(num,den); 构造传递函数G(s)并显示 给定系统传递函数)(s G 的多项式模型,求系统的单位脉冲响应。传递函数为

) ()()(s s s den num G = 式中,num (s)为系统传递函数)(s G 的分子多项式系数向量,den (s)为系统传递函数)(s G 的分母多项式系数向量。 函数格式1:给定num 、den 求系统的阶跃响应。时间向量t 的范围自动设定。 函数格式2:时间向量t 的范围可以由人工给定。(t=0:0.1:10) 函数格式3:返回变量格式。计算所得的输出y 、状态x 及时间向量t 返回至MATLAB 命令窗口,不作图。更详细的命令说明,可键入“help step ”在线帮助查阅。 例如 4 4)(2 ++= s s s G MATLAB 程序 num=[4]; den=[1 1 4]; step(num,den); 响应曲线如图所示。 给定特征多项式系数向量,计算系统的闭环根、阻尼比、无阻尼振荡频率。 三、实验内容 1、二阶系统为10 210)(2 1++= s s s G (a )键入程序,观察、记录阶跃响应曲线。 (b )键入damp(den)计算系统的闭环根、阻尼比、无阻尼振荡频率,并作记录。

matlab程序设计实例

MATLAB 程序设计方法及若干程序实例 樊双喜 (河南大学数学与 信息科学学院开封475004) 摘要本文通过对 MATLAB 程序设计中的若干典型问题做简要的分析和总结,并在此基础上着重讨论了有关算法设计、程序的调试与测试、算法与程序的优化以及循环控制等方面的问题.还通过对一些程序实例做具体解析,来方便读者进行编程训练并掌握一些有关MATLAB 程序设计方面的基本概念、基本方法以及某些问题的处理技巧等.此外,在文章的最后还给出了几个常用数学方法的算法程序, 供读者参考使用.希望能对初学者进行 MATLAB 编程训练提供一些可供参考的材料,并起到一定的指导和激励作用,进而为MATLAB 编程入门打下好的基础. 关键字算法设计;程序调试与测试;程序优化;循环控制 1 算法与程序 1.1 算法与程序的关系算法被称为程序的灵魂,因此在介绍程序之前应先了 解什么是算法.所谓算 法就是对特定问题求解步骤的一种描述.对于一个较复杂的计算或是数据处理的问题,通常是先设计出在理论上可行的算法,即程序的操作步骤,然后再按照算法逐步翻译成相应的程序语言,即计算机可识别的语言. 所谓程序设计,就是使用在计算机上可执行的程序代码来有效的描述用于解决特定问题算法的过程.简单来说,程序就是指令的集合.结构化程序设计由于采用了模块分化与功能分解,自顶向下,即分而治之的方法,因而可将一个较复杂的问题分解为若干子问题,逐步求精.算法是操作的过程,而程序结构和程序流程则是算法的具体体现. 1.2MATLAB 语言的特点 MATLAB 语言简洁紧凑,使用方便灵活,库函数极其丰富,其语法规则与科技人员的思维和书写习惯相近,便于操作.MATLAB 程序书写形式自由,利用其丰富

自动控制原理MATLAB仿真实验

自动控制原理MATLAB仿真实验 实验一典型环节的MATLAB仿真 一、实验目的 1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。 2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。 3.定性了解各参数变化对典型环节动态特性的影响。 二、SIMULINK的使用 MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。 1.运行MATLAB软件,在命令窗口栏“>>”提示符下键入simulink命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。 2.选择File菜单下New下的Model命令,新建一个simulink仿真环境常规模板。 图1-1 SIMULINK仿真界面图1-2 系统方框图

3.在simulink 仿真环境下,创建所需要的系统。 以图1-2所示的系统为例,说明基本设计步骤如下: 1)进入线性系统模块库,构建传递函数。点击simulink 下的“Continuous ”,再将右边窗口中“Transfer Fen ”的图标用左键拖至新建的“untitled ”窗口。 2)改变模块参数。在simulink 仿真环境“untitled ”窗口中双击该图标,即可改变传递函数。其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK ,即完成该模块的设置。 3)建立其它传递函数模块。按照上述方法,在不同的simulink 的模块库中,建立系统所需的传递函数模块。例:比例环节用“Math ”右边窗口“Gain ”的图标。 4)选取阶跃信号输入函数。用鼠标点击simulink 下的“Source ”,将右边窗口中“Step ”图标用左键拖至新建的“untitled ”窗口,形成一个阶跃函数输入模块。 5)选择输出方式。用鼠标点击simulink 下的“Sinks ”,就进入输出方式模块库,通常选用“Scope ”的示波器图标,将其用左键拖至新建的“untitled ”窗口。 6)选择反馈形式。为了形成闭环反馈系统,需选择“Math ” 模块库右边窗口“Sum ”图标,并用鼠标双击,将其设置为需要的反馈形式(改变正负号)。 7)连接各元件,用鼠标划线,构成闭环传递函数。 8)运行并观察响应曲线。用鼠标单击工具栏中的“”按钮,便能自动运行仿真环境下的系统框图模型。运行完之后用鼠标双击“Scope ”元件,即可看到响应曲线。 三、实验原理 1.比例环节的传递函数为 221211()2100,200Z R G s R K R K Z R =-=-=-== 其对应的模拟电路及SIMULINK 图形如图1-3所示。

基于Matlab的控制系统Bode图超前校正设计

《自动控制系统》课程设计基于Matlab控制系统的Bode图超前校正设计 2O11 年11月 12日

摘要:串联超前校正,是在频域内进行的系统设计,是一种间接地设计方法。因为设计结果满足的是一些频域指标,而不是时域指标,然而,在频域内进行设计,又是一种简便的方法,在伯德图的虽然不能严格地给出系统的动态系能,但却方便地根基频域指标确定校正参数,特别是对已校正系统的高频特性有要求时,采用频域法校正较其他方法更为简便。

目录 一、设计的要求 (4) 二设计意义 (4) 三、设计思路 (4) 四、参数的计算 (6) 参考文献 (13)

) 101.0)(11.0(1 )(++=s s s k s G 一、设计的要求 试用 Bode 图设计方法对系统进行超前串联校正设计,要求: (1)在斜坡信号 r (t ) = v t 作用下,系统的稳态误差 ess ≤ 0.01v0; (2)系统校正后,相角稳定裕度 γ 满足 : 48deg ≤ γ; (3)剪切频率 ωc ≥ 170rad/s 。 二设计意义 对于一个控制系统来说,如果它的元部件及其参数已经给定,就要分析它是否能满足所要求的各项性能指标。一般把解决这类问题的过程称为系统的分析。在实际工程控制问题中,还有另一类问题需要考虑,即往往事先确定了满足的性能指标,让我们设计一个系统并选择适当的参数来满足性能指标要求;或考虑对原已选定的系统增加某些必要的原件或环节,使系统能够全面的满足所要求的性能指标。利用超前网络或PD 控制器进行串联校正的基本原理,是利用超前网络或PD 控制器的相角超前特性。只要正确的将超前网络的交接频率1/aT 和1/T 选在待校正系统截止频率的两旁,并适当选择参数a 和T ,就可以使已校正系统的截止频率和相角裕度满足性能指标的要求,从而改善闭环系统的动态性能。 三、设计思路 。 1.根据稳态误差要求,确定开环增益K 。 2.根据已确定的开环增益K ,绘制原系统的对数频率特性曲线0()L ω、()o ?ω,计算其稳定裕度o γ、0g L 。 3.确定校正后系统的截止频率'c ω和网络的a 值。 ①若事先已对校正后系统的截止频率'c ω提出要求,则可按要求值选定'c ω。

MATLAB在自动控制原理中的应用

本论文主要研究如何根据用户要求的性能指标进行自动控制系统的串联校正设计,而此设计又具有很重要的现实意义。对于给定的线性定常系统,我们通常通过加入串联超前、滞后或超前滞后综合校正装置,以达到提高系统的精度和稳定性的目的。本文将给出基于频率特性法串联校正的具体设计方法,同时对该课题中的控制系统模型进行仿真。本设计可实现如下功能:对一个线性定常系统,根据需求的性能指标,通过本设计可给出系统的串联校正网络,从绘制出的各种响应曲线可以直观地将校正前后的系统进行比较,而仿真实例结果也进一步表明了此设计方法有效性和实用性。 关键词:串联校正;根轨迹;频率特性法;MATLAB 1.1研究目的 在实际工程控制中,往往需要设计一个系统并选择适当的参数以满足性能 指标的要求,或对原有系统增加某些必要的元件或环节,使系统能够全面满足 性能指标要求,此类问题就称为系统校正与综合,或称为系统设计。 当被控对象给定后,按照被控对象的工作条件,被控信号应具有的最大速 度和加速度要求等,可以初步选定执行元件的形式、特性和参数。然后,根据 测量精度、抗扰能力、被测信号的物理性质、测量过程中的惯性及非线性度等 因素,选择合适的测量变送元件。在此基础上,设计增益可调的前置放大器与 功率放大器。这些初步选定的元件以及被控对象适当组合起来,使之满足表征 控制精度、阻尼程度和响应速度的性能指标要求。如果通过调整放大器增益后 仍然不能全面满足设计要求的性能指标,就需要在系统中增加一些参数及特性 可按需要改变的校正装置,使系统能够全面满足设计要求,这就是控制系统设 计中的校正问题。系统设计过程是一个反复试探的过程,需要很多经验的积累。MATLAB为系统设计提供了有效手段。 1.2相关研究现状 系统仿真作为一种特殊的实验技术,在20世纪30-90年代的半个多世纪中经历了飞速发展,到今天已经发展成为一种真正的、系统的实验科学。自动控制系统仿真是系统仿真的一个重要分支,它是一门设计自动控制理论、计算机数学、计算机技术、系统辩识以及系统科学的综合性新型学科。它为控制系统的分析、计算、研究、综合设计以及自动控制系统的计算机辅助教学等提供了快速、经济、

第4章MATLAB程序流程控制-习题答案

第4章M A T L A B程序流程控制-习题答案

第4章MATLAB程序流程控制 习题4 一、选择题 1.下列关于脚本文件和函数文件的描述中不正确的是()。A A.函数文件可以在命令行窗口直接运行 B.去掉函数文件第一行的定义行可转变成脚本文件 C.脚本文件可以调用函数文件 D.函数文件中的第一行必须以function开始 2.下列程序的输出结果是()。D y=10; ify==10 y=20; elseify>0 y=30 end disp(y) A.1B.30C.10D.20 3.有以下语句: a=eye(5); forn=a(2:end,:) for循环的循环次数是()。C A.3B.4C.5D.10 4.设有程序段 k=10; whilek k=k-1 end 则下面描述中正确的是()。A A.while循环执行10次B.循环是无限循环 C.循环体语句一次也不执行D.循环体语句执行一次 5.有以下程序段: x=reshape(1:12,3,4); m=0;

n=0; fork=1:4 ifx(:,k)<=6 m=m+1; else n=n+1; end end 则m 和n 的值分别是()。C A .66 B .21 C .22 D .12 6.调用 函数时 ,如 果函数 文件名与 函数 名不一 致用()。A A .函数文件名B .函数名 C .函数文件名或函数名均可 D .@函数名 7.如果有函数声明行为“f unction[x,y,z]=f1(a,b,c)”,则下述函数调用格式中错误的是 ()。B A .x=f1(a,b,c)B .[x,y,z,w]=f1(a,b,c) C .[x,b,z]=f1(a,y,c)D .[a,b]=f1(x,y,z) 8.执行语句“f n=@(x)10*x;”,则fn 是()。A A .匿名函数B .函数句柄C .字符串D .普通函数 9.执行下列语句后,变量A 的值是()。D >>f=@(x,y)log(exp(x+y)); >>A=f(22,3); A .22,3B .22C .3D .25 10.程序调试时用于设置断点的函数是()。A A .dbstopB .dbclearC .dbcontD .dbstack 二、填空题 1.将有 关M A T L A B 命令编成程序存储在展名为.m 的文件中,该文件称 为。M 文件 2.有语句“f ork=[12;34]”引导的循环结构,其循环体执行的次数为。1 3.M A T L A B 中用于控制不确定重复次 数 的 循 环 中需要终止该循用的语句为。while ?end ,break 4.函数文件由语 句引导。在函 数 定 义时,函数数。在调用函数时,输入输出为参数。 function ,形式,形参,实际,实参 5.在MATLAB 中,函数文件中的变量是变量。定义变量是函数间 传递信息的一种手段用命令定义。局部,全局,global 6.应用程序的错误有两类,一类是错误,另一类是运行时的错误,即 2

自动控制原理Matlab程序作业(精)

自控控制原理 MATLAB 程序设计作业 指导老师:汪晓宁 目录 一、题目 (2) 二、运行结果 (3) 三、程序说明 (8) 四、附录 ............................................ 9 代码 . ............................................. 9 参考文献 .. (17) 一、题目 用 Matlab 创建用户界面,并完成以下功能 a 将产生未综合系统的根轨迹图以及 0.707阻尼比线, 你可以交互地选择交点的运行点。界面能显示运行点的坐标、增益值以及近似为二阶系统估算的超调量、调整时间、峰值时间、阻尼比、无阻尼自然震荡频率以及稳态误差 b 显示未综合系统的阶跃响应 c 输入控制器的参数, 绘制综合后系统的根轨迹图以及显示综合的设计点 (主导极点 , 允许不断改变控制器参数,知道所绘制的根轨迹通过设计点 d 对于综合后的系统, 显示运行点的坐标、增益,近似为二阶系统估算的超调量、调整时间、峰值时间、阻尼比、无阻尼自然震荡频率以及误差系数 e 显示综合后系统的阶跃响应 二、运行结果

输入传递函数分子分母 生成根轨迹图

选择点并得到该点各项参数在下方输出面板输出 获得阶跃响应图 用 rltool(辅助,选择合适的插入零点

输入零点,并得到根轨迹图

选择根轨迹图上的任一点,得到数据,在下方输出面板输出得到阶跃响应图 三、运行说明

第一步, 在请输入分子后的输入框输入传递函数分子的矩阵, 在下一输入框输入传递函数分母并按“生成根轨迹图”按钮获得根轨迹 第二步, 按选择点并显示各参数获得根轨迹图上任一点的各项数据, 数据全部输出在下方输出面板 第三步,按“生成阶跃响应图”按钮可以获得该函数的阶跃响应 第四步,在“请输入插入零点”后的输入框中输入参数,并按“生成综合后根轨迹图” 按钮产生根轨迹 (可以通过点击“根轨迹校正”按钮,调用工具箱拖动零点进行快速查看根轨迹图,选择合适的根轨迹再在输入框中输入零点的值 第五步,按“选择点并显示各参数(综合后系统”选取各点,查阅参数,数据输出在下方输出面板上 第六步,按“生成阶跃响应图(综合后系统”可以得到综合后系统的阶跃响应 最后,点击“退出”结束程序 四、附录 代码: function varargout = Liushuai20122510(varargin % LIUSHUAI20122510 MATLAB code for Liushuai20122510.fig % LIUSHUAI20122510, by itself, creates a new LIUSHUAI20122510 or raises the existing % singleton*. %

自动控制常见MATLAB函数的应用

自动控制常见MATLAB 函数的应用 1、在matlab 中采用roots 函数求解多项式的根,采用conv 函数实 现多项式的积,相互连接的模块的模型求解也相当简单(1)、串联连接命令G=G1*G2(2)、并联连接命令G=G 1±G2(3)、反馈连接命令G=feedback (G1,G2,Sign )(sign 用来表示系统是正反馈或负反馈,sign=-1为负反馈) 例如:① 程序如下: >>p=[1304]; >>roots(p) ans = -3.3553 0.1777+1.0773i 0.1777-1.0773i ②、用matlab 实现: 程序如下: >>p=[321];q=[14]; >>n=conv(p,q) n = 31494③、一个传递函数模型,可以由下面的命令输入:32()34p s s s =++2 ()(321)(4)n s s s s =+++325()345 s G s s s s +=+++

>>num=[15];den=[1345]; >>G=tf(num,den) Transfer function: s +5 --------------------- s^3+3s^2+4s +5 ④、如下图所示,前向传递函数为G (S ) ,反馈回路传递函数为H(S),利用feedback 计算系统的闭环传递函数 程序如下: >>numg=[1];deng=[50000]; >>numh=[11];denh=[12]; >>[num,den]=feedback(numg,deng,numb,denh,-1); >>[num,den]=feedback(numg,deng,numh,denh,-1); >>G=tf(num,den) () R S ???→

matlab在机械控制中的应用

Matlab在机械工程控制中的应用 姓名:xxx 学号:2010232 专业:机械制造及其自动化

Matlab在机械工程控制中的应用 摘要:MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 一、机械工程控制简介 机械控制工程是研究控制论在机械工程中应用的科学。它是一门跨控制论和机械工程的边缘学科。随着工业生产和科学技术的不断向前发展,机械工程控制论这门新兴学科越来越为人们所重视。他不仅满足今天自动化技术高度发展的需要,同时也与信息科学和系统科学紧密相关,更重要的是它提供了辩证的系统分析方法,即不但从局部,而且从整体上认识和分析机械系统,改进和完善机械系统,以满足科技的发展和工业生产的实际需要。 1.1机械工程控制论的研究对象与任务 机械工程控制论的研究对象是机械工程技术中广义系统的动力学问题。具体地讲,机械控制路是研究系统及其输入、输出三者之间的动态关系,也就是研究机械工程广义系统在一定的外界条件下,从系统的一定初始条件出发,所经历有内部的固有属性所决定的整个动态历程。就系统及其输入、输出三者之间动态关系而言,机械工程控制论的任务主要研究一下几方面的为题: (1)当系统已定,输入已知时,求出系统的输出(响应),并通过输出来研究系统本身的有关为题,称系统分析。 (2)当系统已定,系统的输出也已给定是,要确定系统的输出尽可能符合给定的最佳要求,称系统的最优控制。 (3)当输入已知输出也一给定时,要确定系统,使其可能符合给定的最佳要求,称最优设计。 (4)当输入和输出均已知时,求系统的结构参数,即建立系统的数学模型,称系统的便是或系统识别。 (5)当系统已定输出已知时,要识别输出输出输入的有关信息,成滤波与预测。

第4章matlab程序流程控制_习题答案

第4章 MATLAB程序流程控制 习题4 一、选择题 1.下列关于脚本文件和函数文件的描述中不正确的是()。 A A.函数文件可以在命令行窗口直接运行 B.去掉函数文件第一行的定义行可转变成脚本文件 C.脚本文件可以调用函数文件 D.函数文件中的第一行必须以function开始 2.下列程序的输出结果是()。D y=10; if y==10 y=20; elseif y>0 y=30 end disp(y) A.1 B.30 C.10 D.20 3.有以下语句: a=eye(5); for n=a(2:end,:) for循环的循环次数是()。C A.3 B.4 C.5 D.10 4.设有程序段 k=10; while k k=k-1 end 则下面描述中正确的是()。A A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次5.有以下程序段: x=reshape(1:12,3,4); m=0;

n=0; for k=1:4 if x(:,k)<=6 m=m+1; else n=n+1; end end 则m和n的值分别是()。C A.6 6 B.2 1 C.2 2 D.1 2 6.调用函数时,如果函数文件名与函数名不一致,则使用()。A A.函数文件名 B.函数名 C.函数文件名或函数名均可 D.@函数名 7.如果有函数声明行为“function [x,y,z]=f1(a,b,c)”,则下述函数调用格式中错误的是()。B A.x=f1(a,b,c) B.[x,y,z,w]=f1(a,b,c) C.[x,b,z]=f1(a,y,c) D.[a,b]=f1(x,y,z) 8.执行语句“fn=@(x) 10*x;”,则 fn是()。A A.匿名函数 B.函数句柄 C.字符串 D.普通函数 9.执行下列语句后,变量A的值是()。D >> f=@(x,y) log(exp(x+y)); >> A=f(22,3); A.22,3 B.22 C.3 D.25 10.程序调试时用于设置断点的函数是()。A A.dbstop B.dbclear C.dbcont D.dbstack 二、填空题 1.将有关MATLAB命令编成程序存储在一个扩展名为.m的文件中,该文件称为。M文件 2.有语句“for k=[12;34]”引导的循环结构,其循环体执行的次数为。1 3.MATLAB中用于控制不确定重复次数的循环语句为,若在循环执行过程中需要终止该循环时采用的语句为。while…end,break 4.函数文件由语句引导。在函数定义时,函数的输入输出参数称为参数,简称。在调用函数时,输入输出参数称为参数,简称。 function,形式,形参,实际,实参 5.在MATLAB中,函数文件中的变量是变量。定义变量是函数间传递信息的一种手段,可以用命令定义。局部,全局,global 6.应用程序的错误有两类,一类是错误,另一类是运行时的错误,即错

《自动控制原理》MATLAB分析与设计

《自动控制原理》MATLAB分析与设计 仿真实验报告 第三章线性系统的时域分析法 1、教材P136.3-5系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比较,分析仿真结果; (1)原系统的动态性能 SIMULINK仿真图: 仿真结果: 分析:从图中可以看出:峰值时间:tp=3.2s,超调量18.0%,调节时间ts=7.74s。 (2)忽略闭环零点的系统动态性能 SIMULINK仿真图:

仿真结果: 分析:从图中可以看出:峰值时间:tp=3.6s,超调量16.7%,调节时间ts=7.86s。 (3)两种情况动态性能比较 SIMULINK仿真图: 仿真结果:

原系统 忽略闭环零点 分析:通过比较可以看出闭环零点对系统动态性能的影响为:减小峰值时间,使系统响应速度加快,超调量增大。这表明闭环零点会减小系统阻尼。 3-9系统 SIMULINK仿真图: 仿真结果:

Scope0 分析:从图中可以看出:峰值时间:tp=1.05s,超调量35.1%,调节时间ts=3.54s(△=2%)。 Scope1 分析:从图中可以看出:峰值时间:tp=0.94s,超调量37.1%,调节时间ts=3.44s(△=2%)。

Scope2 分析:由于计算机在计算的过程也存在误差,因此,不同的参数时,两条线重合,需将闭环传递函数计算出来再作比较。 计算出闭环传递函数 SIMULINK仿真图:

分析:从图中可以看出:峰值时间:tp=1.05s,超调量35.1%,调节时间ts=3.54s(△=2%)。 Scope4 分析:从图中可以看出:峰值时间:tp=0.94s,超调量37.1%,调节时间ts=3.44s(△=2%)。

自动控制原理 matlab实验报告

自动控制原理实验(二) 一、实验名称: 基于MATLAB的控制系统频域及根轨迹分析 二、实验目的: (1)、了解频率特性的测试原理及方法; (2)、理解如何用MATLAB对根轨迹和频率特性进行仿真和分析; (3)、掌握控制系统的根轨迹和频率特性两大分析和设计方法。 三、实验要求: (1)、观察给定传递函数的根轨迹图和频率特性曲线; (2)、分析同一传递函数形式,当K值不同时,系统闭环极点和单位阶跃响应的变化情况;(3)、K值的大小对系统的稳定性和稳态误差的影响; (4)、分析增加系统开环零点或极点对系统的根轨迹和性能的影响。 四、实验内容及步骤 (1)、实验指导书:实验四 (1)、“rlocus”命令来计算及绘制根轨迹。会出根轨迹后,可以交互地使用“rlocfind”命令来确定点击鼠标所选择的根轨迹上任意点所对应的K值,K值所对应的所有闭环极点值也可以使用形如“[K, PCL] = rlocfind(G1)”命令来显示。 (2)、波特图:bode(G1, omga) 另外,bode图还可以通过下列指令得出相位和裕角: [mag,phase,w] = bode(sys) (3)、奈奎斯特图:nuquist(G, omega) (2)课本:例4-1、4-2、4-7 五实验报告要求 (1)、实验指导书:实验四

思考题 请绘制下述传递函数的bode图和nyquist图。 1. 根据实验所测数据分别作出相应的幅频和相频特性曲线; 2. 将思考题的解题过程(含源程序)写在实验报告中。 幅频特性曲线相频特性曲线 Gs = zpk([10], [-5; -16; 9], 200) subplot(1, 2, 1) bode(Gs) grid subplot(1, 2, 2) nyquist(Gs) grid (2)课本:例4-1、4-2、4-7

自动控制MATLAB仿真作业

XXXXXXX 大学 《自动控制原理》MATLAB分析与设计 仿真实验报告 院系:电气工程与信息工程学院 班级: 姓名: 学号: 时间:20 年月日 电气工程与信息工程学院

《自动控制原理》MATLAB 分析与设计仿真实验任务书(2013) 一、仿真实验内容及要求 1.MATLAB 软件 要求学生通过课余时间自学掌握MA TLAB 软件的基本数值运算、基本符号运算、基本程序设计方法及常用的图形命令操作;熟悉MA TLAB 仿真集成环境Simulink 的使用。 2.各章节实验内容及要求 1)第三章 线性系统的时域分析法 ? 对教材P136.3-5系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比 较,分析仿真结果; ? 对教材P136.3-9系统的动态性能及稳态性能通过的仿真进行分析,说明不同控制器 的作用; ? 在MATLAB 环境下完成英文讲义P153.E3.3。 ? 对英文讲义中的循序渐进实例“Disk Drive Read System”,在100=a K 时,试采用 微分反馈使系统性能满足%5%,σ<3250,510s ss t ms d -≤

Matlab在自动控制中的应用教学内容

M a t l a b在自动控制中 的应用

MATLAB在控制理论中的应用 摘要:为解决控制理论计算复杂问题,引入了MATLAB。以经典控制理论和现代控制理论中遇到的一些问题为具体实例,通过对比的手法,说明了MATLAB在控制理论应用中能节省大量的计算工作量,提高解题效率。 引言:现代控制理论是自动化专业一门重要的专业基础课程,内容抽象,且计算量大,难以理解,不易掌握。采用MATLAB软件计算现代控制理论中的问题可以很好的解决这些问题。自动控制理论分为经典控制理论和现代控制理论,在控制理论学习中,经常要进行大量的计算。这些工作如果用传统方法完成,将显得效率不高,额误差较大。因此。引用一种借助于计算机的高级语言来代替传统方法就显得十分必要。MATLAB集科学计算,可视化,程序设计于一体,对问题的描述与求解较为方便,在控制理论的学习中是一种备受欢迎的软件。 MATLAB简介:MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 1、MATLAB在系统的传递函数和状态空间模型之间的相互转换的应用:例1:求以下状态空间模型所表示系统的传递函数: 解:执行以下的M-文件:

用matlab实现自动控制系统的分析与设计

使用MATLAB对控制系统进行计算机仿真的主要方法是:以控制系统的传递函数为基础,使用MATLAB的Simulink工具箱对其进行计算机仿真研究。 1.时域分析中性能指标 为了保证电力生产设备的安全经济运行,在设计电力自动控制系统时,必须给出明确的系统性能指标,即控制系统的稳定性、准确性和快速性指标。通常用这三项技术指标来综合评价一个系统的控制水平。对于一个稳定的控制系统,定量衡量性能的好坏有以下几个性能指标:(1)峰值时间tp;(2)调节时间ts;(3)上升时间tr;(4)超调量Mp%。 怎样确定控制系统的性能指标是控制系统的分析问题;怎样使自动控制系统的性能指标满足设计要求是控制系统的设计与改造问题。在以往进行设计时,都需要通过性能指标的定义徒手进行大量、复杂的计算,如今运用MATLAB可以快速、准确的直接根据响应曲线得出性能指标。例如:求如下二阶系统的性能指标: 首先用MATLAB在命令窗口编写如下几条简单命令: num=[3]; %传递函数的分子多项式系数矩阵 den=[1 1.5 3]; %传递函数的分母多项式系数矩阵 G=tf(num,den); %建立传递函数 grid on; %图形上出现表格 step(G) %绘制单位阶跃响应曲线 通过以上命令得到单位阶跃响应曲线如图1,同时在曲线上根据性能指标的定义单击右键,则分别可以得到此系统的性能指标:峰值时间tp=1.22s;调节时间ts=4.84s;上升时间tr=0.878s;超调量Mp%=22.1%。 图1 二阶系统阶跃响应及性能指标 2.具有延迟环节的时域分析 在许多实际的电力控制系统中,有不少的过程特性(对象特性)具有较大的延迟,例如多容水箱。对于具有延迟过程的电力控制无法保证系统的控制质量,因此进行设计时必须考虑实际系统存在迟延的问题,不能忽略。所以设计的首要问题是在设计系统中建立迟延环节的数学模型。 在MATLAB环境下建立具有延迟环节的数学模型有两种方法。 例:试仿真下述具有延迟环节多容水箱的数学模型的单位阶跃响应曲线: 方法一:在MATLAB命令窗口中用函数pade(n,T) num1=1;den1=conv([10,1],[5,1]);g1=tf(num1,den1); [num2,den2]=pade(1,10);g2=tf(num2,den2); g12=g1*g2; step(g12) 图2 延迟系统阶跃响应曲线 方法二:用Simulink模型窗口中的Transport Delay(对输入信号进行给定的延迟)模块 首先在Simulink模型窗口中绘制动态结构图,如图3所示。 图3 迟延系统的SIMULINK实现

相关主题
文本预览
相关文档 最新文档