当前位置:文档之家› 重复控制Matlab的M文件

重复控制Matlab的M文件

重复控制Matlab的M文件
重复控制Matlab的M文件

%PID Control with Repetitive Control compensation

clear all;close all;

ts=0.001;

sys=tf(50,[0.000046,0.006,1,0]);

dsys=c2d(sys,ts,'z');

[num,den]=tfdata(dsys,'v');

q=tf(1,[0.20,1]); %Filter

dq=c2d(q,ts,'z');

[numq,denq]=tfdata(dq,'v');

F=1;

N=1/F*1/ts;

zz=tf([1],[1 zeros(1,N)],ts);

dz=dq*zz;

[numz,denz]=tfdata(dz,'v');

Gr=1/(1-dz); %Repetitive controller

u_1=0;u_2=0;u_3=0;

y_1=0;y_2=0;y_3=0;

ei=0;

ue_1=0;ue_2=0;

ue_N=0;ue_N1=0;ue_N2=0;

e2_N=0;e2_N1=0;e2_N2=0;这几个参数是什么?

e_N1=0;

e1_1=0;

e2_1=0;

for k=1:1:10000

time(k)=k*ts;

rin(k)=1.0*sin(F*2*pi*k*ts);

yout(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(2)*u_1+num(3)*u_2+num(4)*u_3;这个输出是如何得出来的?

e(k)=rin(k)-yout(k);

ei=ei+e(k)*ts;

up(k)=1.5*e(k)+10*ei;

e1(k)=-denq(2)*e1_1+numq(2)*e_N1;还有这句是怎么回事?

K=1.2;

e2(k)=K*e1(k);

ue(k)=0.8187*ue_1+0.1813*ue_N1+e2(k)-0.8187*e2_1;这个也不明白

M=2;

if M==1

u(k)=up(k); %Only using PID

end

if M==2

u(k)=ue(k)+up(k); %Using REP+PID

end

if k>N

ue_N=ue(k-N);

e2_N=e2(k-N);

end

if k>N+1

ue_N1=ue(k-N-1);

e2_N1=e2(k-N-1);

e_N1=e(k-N-1);

end

if k>N+2

ue_N2=ue(k-N-2);

e2_N2=e2(k-N-2);

end

e1_1=e1(k);

e2_1=e2(k);

ue_2=ue_1;

ue_1=ue(k);

u_3=u_2;u_2=u_1;u_1=u(k);

y_3=y_2;y_2=y_1;y_1=yout(k);

end

figure(1);

plot(time,rin,'r',time,yout,'b');

xlabel('time(s)');ylabel('rin,yout');

figure(2);

plot(time,rin-yout,'r');ylabel('error');

xlabel('time(s)');ylabel('error');

figure(3);

plot(time,u,'r');

xlabel('time(s)');ylabel('u');

figure(4);

plot(time,up,'r',time,ue,'b');

xlabel('time(s)');ylabel('up,ue');

重复控制的特点是对高频具有无穷大的增益,但是会带来一个周期的延时,故需要进行相位补偿,你这个系统还需对基波进行控制,Pi对低频信号具有无穷大增益,所以在你的重复控制后加入pi控制器可以实现电网电流与电网电压同相位,

基于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报告

自动控制原理实验报告 ——控制系统的阶跃响应 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的控制系统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、在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仿真作业

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在自动控制原理中的应用

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

用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实现

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

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

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

第一章 课程设计内容与要求分析 1.1设计内容 针对二阶系统 )1()(+= s s K s W , 利用有源串联超前校正网络(如图所示)进行系统校正。当开关S 接通时为超前校正装置,其传递函数 11 )(++-=Ts Ts K s W c c α, 其中 132R 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 ,开环截止频率ωc’≥4.4弧度/秒,相位裕量γ’≥45°; 2)根据性能指标要求,确定串联超前校正装置传递函数; 3)利用对数坐标纸手工绘制校正前、后及校正装置对数频率特性曲线; c R R

《自动控制原理》MATLAB分析与设计-(1)

兰州理工大学 《自动控制原理》MATLAB分析与设计 仿真实验报告 院系:电信学院 班级:自动化四班 姓名:周媛 学号: 09220433 时间:2011年 11 月 22日 电气工程与信息工程学院

第三章 线性系统的时域分析法 P136.3-5 单位反馈系统的开环传递函数为0.41 ()(0.6) s G s s s += + 该系统的阶跃响应 曲线如下图所示,其中虚线表示忽略闭环零点时(即21 ()21 G s s s =+=)的阶跃 响应曲线. 解:matlab 程序如下 num=[0.4 1];den=[1 0.6 0]; G1=tf(num,den); G2=1; G3=tf(1,den); sys=feedback(G1,G2,-1); sys1=feedback(G3,G2,-1); p=roots(den) c(t)=0:0.1:1.5; t=0:0.01:20; figure(1) step(sys,'r',sys1,'b--',t);grid; xlabel('t');ylabel('c(t)');title('阶跃响应'); 程序运行结果如下: 阶跃响应 t (sec) 结果对比与分析:

时间,但是同时也增大了超调量,所以,在选择系统的时候应该同时考虑减小响应时间和减小超调量。并在一定程度上使二者达到平衡,以满足设计需求。 P139.3-9 设测速反馈校正系统控制系统的闭环传递函数为210 ()310 s s s Φ=++, 比例-微分校正系统的闭环传递函数为210 ()310 s s s s +Φ=++,试分析在不同控制器 下的系统的稳态性能。 解:matlab 程序如下, %第一小题 G1=tf([10],[1 1 0]); G2=tf([0.2 0],[1]); G3=feedback(G1,G2,-1); G4=series(1,G3); sys=feedback(G4,1,-1); %第二小题 G5=tf([0.1 0],[1]); G6=1; G7=tf([10],[1 1 0]); G8=parallel(G5,G6); G9=series(G8,G7); sys1=feedback(G9,1,-1); p=roots(den) t=0:0.01:15; figure step(sys,'r',sys1,'b--',t);grid; xlabel('t');ylabel('c(t)');title('阶跃响应'); 不同控制器下的单位阶跃响应曲线如下图所示,其中红色实线为测速反馈校正系统的阶跃响应,蓝色虚线为比例-微分校正系统的单位阶跃响应曲线。

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 软件的基本特点和功能,熟悉其界面,菜单和工具条;掌握线性系统模型的计算机表示方法,变换以及模型间的相互转换。了解控制系统工具箱的组成,特点及应用;掌握求线性定常连续系统输出响应的方法,运用连续系统时域响应函数(impulse,step,lsim),得到系统的时域响应曲线。 掌握使用MATLAB软件作出系统根轨迹;利用根轨迹图对控制系统进行分析;掌握使用MA TLAB软件作出开环系统的波特图,奈奎斯图;观察控制系统的开环频率特性,对控制系统的开环频率特性进行分析。 掌握MATLAB软件中simulink工具箱的使用;熟悉simulink中的功能模块,学会使用simulink对系统进行建模;掌握simulink的仿真方法。 二、软件介绍: MATLAB是Mathworks公司开发的一种集数值计算、符号计算和图形可视化三大基本功能于一体的功能强大、操作简单的优秀工程计算应用软件。MATLAB不仅可以处理代数问题和数值分析问题,而且还具有强大的图形处理及仿真模拟等功能。从而能够很好的帮助工程师及科学家解决实际的技术问题。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MA TLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB最重要的特点是易于扩展。它允许用户自行建立完成指定功能的扩展MATLAB函数(称为M文件),从而构成适合于其它领域的工具箱,大大扩展了MATLAB的应用范围。目前,MATLAB已成为国际控制界最流行的软件,控制界很多学者将自己擅长的CAD方法用MATLAB加以实现,出现了大量的MATLAB配套工具箱,如控制系统工具箱(control systems toolbox),系统识别工具箱(system identification toolbox),鲁棒控制工具箱(robust control toolbox),信号处理工具箱(signal processing toolbox)以及仿真环境SIMULINK 等。

matlab自控仿真实验报告

目录 实验一 MATLAB及仿真实验(控制系统的时域分析) (1) 实验二 MATLAB及仿真实验(控制系统的根轨迹分析) (4) 实验三 MATLAB及仿真实验(控制系统的频域分析) (7)

实验一 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 、

matlab自动控制仿真常见函数应用

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

可以由下面的命令输入: >> num=[1 5];den=[1 3 4 5]; >> G=tf(num,den) Transfer function: s + 5 --------------------- s^3 + 3 s^2 + 4 s + 5 ④、如下图所示,前向传递函数为G (S ),反馈回路传递函数为H(S),利用feedback 计算系统的闭环传递函数 程序如下: >> numg=[1];deng=[500 0 0]; >> numh=[1 1];denh=[1 2]; >> [num,den]=feedback(numg,deng,numb,denh,-1); >> [num,den]=feedback(numg,deng,numh,denh,-1); >> G=tf(num,den) () R S ???

Matlab在自动控制中的应用

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

基于MATLAB自动控制仿真

基于MATLAB《自动控制原理》课程设计 涂金海20151187131 实验B-1; >> G1=tf([1],[2.9 1]); G2=tf([12],[1 2.4]); Gn=0;sysn0=(G2*(1+G1*Gn))/(1+G1*G2) t=0:0.01:20; u=0.1*sin(t); figure(1) lsim(sysn0,u,t,0);grid xlabel('t');ylabel('c(t)'); Gn=-1/G1; sysn1=(G2*(1+G1*Gn))/(1+G1*G2); Gc=tf([1],[0.01 1]);Gn=-Gc/G1; sysn2=(G2*(1+G1*Gn))/(1+G1*G2); figure(2) lsim(sysn2,u,t,0);grid; xlabel('t');ylabel('c(t)'); sysn0 = 34.8 s^2 + 95.52 s + 28.8 ------------------------------------ 2.9 s^3 + 14.92 s^2 + 3 3.5 s + 3 4.56 Continuous-time transfer function. B~2 》》zeta=0.707; num=[16];den=[1 8*zeta 16]; sys=tf(num,den); p=roots(den); t=0:0.01:3; figure(1) impulse(sys,t);grid

xlabel('t');ylabel('c(t)');title('imlulse response'); figure(2) step(sys,t);grid xlabel('t');ylabel('_t');title('step response'); figure(3) u=t; lsim(sys,u,t,0); grid xlabel('t');ylabel('c(t)');title('ramp response'); B——3 Academic License >> G=tf([1 4],[1 4 20]); figure(1)

自动控制MATLAB实验报告

实验一 Matlab 使用方法和程序设计 热动102班 2010031294 唐旭 一、实验目的 1、理解 Matlab 软件使用的基本方法; 2、理解 Matlab 的数据表示、基本运算和程序控制语句 3、熟悉 Matlab 绘图命令及基本绘图控制 4、学习使用 SIMULINK 进行系统仿真的方法 二、实验内容: 1、基本绘图命令 (1)绘制余弦曲线 y=cos(t),t ∈[0,2π] >> x=0:pi/15:2*pi;y=[cos(x)];plot(y) 5 10 15 20 25 30 35 -1-0.8-0.6-0.4-0.200.20.40.60.8 1 (2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5),t ∈[0,2π] >> x=0:pi/15:2*pi;y=[sin(x-0.5);cos(x-0.25)];plot(x,y)

1 2 3 4 5 6 7 -1-0.8-0.6-0.4-0.200.20.40.60.8 1 2、基本绘图控制 绘制[0,4π]区间上的 y1=10sint 曲线,并要求: (1)线形为点划线、颜色为红色、数据点标记为加号; (2)坐标轴控制:x 轴和y 轴的显示范围(X 轴0:4Pi ;Y 轴:-10:10)、 单位刻度大小相等、有网格线 (3)标注控制:坐标轴名称(X 轴t ;Y 轴:y1)、标题(Sin 函数) 指定位置创建说明性文本; >> x=linspace(0,4*pi,30);y1=10*sin(x); axis([0,4*pi,-10,10]); plot(x,y1,'r-.+') axis equal grid xlabel('t') ; ylabel('y1') ; title('Sin 函数'); text(3,4,'热动102:唐旭') ; axis([0,4*pi,-10,10]);

自动控制MATLAB仿真作业

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

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

Matlab在自动控制中的应用

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

自控第三章MATLAB

一、典型输入信号的MATLAB实现 1、单位脉冲响应 %L0301.m t=[0:0.1:10]; num=[1]; den=[1,1,1]; [y,x,t]=impulse(num,den,t) plot(t,y); grid; xlabel('t'); ylabel('y'); title('单位脉冲响应') 2、单位阶跃响应 %l0302.m num=[1]; den=[1,0.5,1]; t=[0:0.1:10]; [y,x,t]=step(num,den,t); plot(t,y); grid;%绘制网络 xlabel('t'); ylabel('y'); title('单位阶跃响应')

3、单位斜坡响应 %L0303.m num=[1]; den=[1,0.3,1,0]; t=[0:0.1:10]; c=step(num,den,t); plot(t,c); grid;%绘制网络 xlabel('t'); ylabel('y'); title('单位斜坡响应')

4、任意函数作用下得系统响应 %L0304.m numg=[10,20]; deng=[1,10,0]; [num,den]=cloop(numg,deng,-1);%构成负反馈闭环系统%产生三角波函数 v1=[0:0.1:2]; v2=[1.9:-0.1:-2]; v3=[-1.9:0.1:0]; t=[0:0.1:8]; u=[v1,v2,v3]; [y,x]=lsim(num,den,u,t); plot(t,y,t,u); grid;%绘制网络 xlabel('t'); ylabel('y'); title('系统在三角波函数作用下得响应')

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

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

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

目录 第一章课程设计内容与要求分析 (1) 1.1设计内容 (1) 1.2 设计要求 (1) 1.3 Matlab软件 (2) 1.3.1基本功能 (2) 1.3.2应用 (3) 第二章控制系统程序设计 (4) 2.1 校正装置计算方法 (4) 2.2 课程设计要求计算 (4) 第三章利用Matlab仿真软件进行辅助分析 (6) 3.1校正系统的传递函数 (6) 3.2用Matlab仿真 (6) 3.3利用Matlab/Simulink求系统单位 阶跃响应 (10) 3.2.1原系统单位阶跃响应 (10)

3.2.2校正后系统单位阶跃响应.. 11 3.2.3校正前、后系统单位阶跃响应 比较 (12) 3.4硬件设计 (13) 3.4.1在计算机上运行出硬件仿真 波形图 (14) 课程设计心得体会 (16) 参考文献 (18)

3 第一章 课程设计内容与要求分析 1.1设计内容 针对二阶系统 )1()(+=s s K s W , 利用有源串联超前校正网络(如图所示)进行系统校正。当开关S 接通时为超前校正装置,其传递函数 11)(++-=Ts Ts K s W c c α, 其中 13 2R R R K c +=,1)(132432>++=αR R R R R ,C R T 4=, “-”号表示反向输入端。若Kc=1,且开关S 断开,该装置相当于一个放大系数为1的放大器(对原系统没有校正作用)。 c R 2 R 3

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