当前位置:文档之家› 利用MATLAB进行离散控制系统模拟

利用MATLAB进行离散控制系统模拟

利用MATLAB进行离散控制系统模拟
利用MATLAB进行离散控制系统模拟

实验利用MATLAB进行离散控制系统模拟

本试验的目的主要是让学生初步掌握MATLAB软件在离散控制系统分析和设计中的应用。

1.连续系统的离散化。

在MATLAB软件中,对连续系统的离散化主要是利用函数c2dm( )函数来实现的,c2dm( )函数的一般格式为

C2dm( num, den, T, method),可以通过MATLAB的帮助文件进行查询。其中:

Num:传递函数分子多项式系数;

Den:传递函数分母多项式系数;

T:采样周期;

Method:转换方法;

允许用户采用的转换方法有:零阶保持器(ZOH)等五种。

2.求离散系统的相应:

在MATLAB中,求采样系统的响应可运用dstep( ),dimpulse( ),dlsim( )来实现的。分别用于求取采样系统的阶跃,脉冲,零输入及任意输入时的响应,其中dstep( )的一般格式如下:

dstep( num, den, n),可以通过MATLAB的帮助文件进行查询。其中:

Num:传递函数分子多项式系数;

Den:传递函数分母多项式系数;

N:采样点数;

3.此外,离散控制系统也可以用simulink工具箱进行仿真,仿真界面如下图(采样周期可以在对应模块中进行设定)。

1.编制程序实现上面三个仿真程序。

2.把得到的图形和结果拷贝在试验报告上。

3.在第1个例子中,改变采样周期为0.25,重新运行程序,把结果和原来结果进行比较,并说明为什么?

4.在第2个例子中,改变采样点数为70,重新运行程序,把结果和原来结果进行比较,并说明为什么?同样,改变采样周期T,观察不同周期下

系统阶跃响应的动态性能,分析采样周期对系统动态性能的影响。

1.

1)

num=10;

den=[1,7,10];

t=0.1

[numz,denz]=c2dm(num,den,t,'zoh');

printsys(numz,denz,'z')

得出结果:

t =

0.1000

num/den =

0.039803 z + 0.031521

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

z^2 - 1.4253 z + 0.49659

若t改为0.25:

num=10;

den=[1,7,10];

t=0.25

[numz,denz]=c2dm(num,den,t,'zoh'); printsys(numz,denz,'z')

得出结果为:

t =

0.2500

num/den =

0.18012 z + 0.10062

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

z^2 - 0.89304 z + 0.17377

2)

num=10;

den=[1,7,10];

t=0.25;

i=[0:35];

time=i*t;

[numz,denz]=c2dm(num,den,t,'zoh'); yc=step(num,den,time);

y_zoh=dstep(numz,denz,36);

[xx,yy]=stairs(time,y_zoh);

plot(time,yc,'r'),hold

plot(xx,yy,'r'),hold;grid

采样点数改为70:

num=10;

den=[1,7,10];

t=0.1;

i=[0:70];

time=i*t;

[numz,denz]=c2dm(num,den,t,'zoh'); yc=step(num,den,time);

y_zoh=dstep(numz,denz,71);

[xx,yy]=stairs(time,y_zoh);

plot(time,yc,'r'),hold

周期改为0.25:

3

num=[0.008,0.072];

den=[1,-1.905,0.905];

t=0.1;

i=[0:35];

time=i*t;

[numz,denz]=c2dm(num,den,t,'zoh'); yc=step(num,den,time);

y_zoh=dstep(numz,denz,36);

[xx,yy]=stairs(time,y_zoh);

plot(time,yc,'r'),hold

plot(xx,yy,'r'),hold;grid

7

6

5

4

3

2

1

0 Simulink实现:

仿真时间:10

仿真时间700:

3

(3) 采样周期不同,得出的Z变换也不同,说明Z变换的结果随采样周期的变化而变化。(4)采样点数越多,输出越平稳,采样周期时间越长,系统达到平稳速度越慢。采样周期

越长,动态性能越差。

Matlab结构图控制系统仿真

图5. 利用 SIMULINK仿

4. 建立如图11-54所示的仿真模型,其中PID控 制器采用Simulink子系统封装形式,其内部 结构如图11-31(a)所示。试设置正弦波信号 幅值为5、偏差为0、频率为10πHz\始终相位 为0,PID控制器的参数为Kp=10.75、 Ki=1.2、Kd=5,采用变步长的ode23t算法、 仿真时间为2s,对模型进行仿真。 (6)观察仿真结果。系统放着结束后,双击仿真模型中的示波器模块,得到仿真结果。单击示波器窗口工具栏上的Autoscale按钮,可以自动调整坐标来 使波形刚好完整显示,这时的波形如图所示。 图3 2. 题操作步骤如下: (1) 打开一个模型编辑窗口。 (2) 将所需模块添加到模型中。在模块库浏览器中单击Sources,将 Clock(时钟)拖到模型编辑窗口。同样,在User-Defined Functions(用户定义模块库)中把Fcn(函数模块)拖到模型编辑窗口,在Continuous(连续系统模块库)中把 Integrator(积分模块)拖到模型编辑窗口,在Sinks中把Display模块编辑窗口。 (3) 设置模块参数并连接各个模块组成仿真模型。双击Fcn模块,打开Function Block operations中把Add模块拖到模型编辑窗口,在Sinks中把Scope模块拖到模型编辑窗口。 (3) 设置模块参数并连接各个模块组成仿真模型。先双击各个正弦源,打开其Block Parameters对话框,分别设置Frequency(频率)为2*pi、 6*pi、10*pi、 14*pi、18*pi,设置Amplitude(幅值)为1、1/3、1/5、1/7和1/9,其余参数不改变。对于求和模块,將符号列表List of signs设置为 +++++。 (4) 设置系统仿真参数。单击模型

控制系统MATLAB仿真基础

系统仿真 § 4.1控制系统的数学模型 1、传递函数模型(tranfer function) 2、零极点增益模型(zero-pole-gain) 3、状态空间模型(state-space) 4、动态结构图(Simulink结构图) 一、传递函数模型(transfer fcn-----tf) 1、传递函数模型的形式 传函定义:在零初始条件下,系统输出量的拉氏变换C(S)与输入量的拉氏变换R(S)之比。 C(S) b1S m+b2S m-1+…+b m G(S)=----------- =- -------------------------------- R(S) a1S n + a2S n-1 +…+ a n num(S) = ------------ den(S) 2、在MATLAB命令中的输入形式 在MATLAB环境中,可直接用分子分母多项式系数构成的两个向量num、den表示系统: num = [b1, b2, ..., b m]; den = [a1, a2, ..., a n]; 注:1)将系统的分子分母多项式的系数按降幂的方式以向量的形式输入两个变量,中间缺项的用0补齐,不能遗漏。 2)num、den是任意两个变量名,用户可以用其他任意的变量名来输入系数向量。 3)当系统种含有几个传函时,输入MATLAB命令状态下可用n1,d1;n2,d2…….。 4)给变量num,den赋值时用的是方括号;方括号内每个系数分隔开用空格或逗号;num,den方括号间用的是分号。 3、函数命令tf( ) 在MATLAB中,用函数命令tf( )来建立控制系统的传函模型,或者将零极点增益模型、状态空间模型转换为传函模型。 tf( )函数命令的调用格式为: 圆括号中的逗号不能用空格来代替 sys = tf ( num, den ) [G= tf ( num, den )]

信号与系统的MATLAB仿真

信号与系统的MATLAB 仿真 一、信号生成与运算的实现 1.1 实现)3(sin )()(π±== =t t t t S t f a )(sin )sin()sin(sin )()(t c t t t t t t t S t f a '=' '== ==πππ π ππ m11.m t=-3*pi:0.01*pi:3*pi; % 定义时间范围向量t f=sinc(t/pi); % 计算Sa(t)函数 plot(t,f); % 绘制Sa(t)的波形 运行结果: 1.2 实现)10() sin()(sin )(±== =t t t t c t f ππ m12.m t=-10:0.01:10; % 定义时间范围向量t f=sinc(t); % 计算sinc(t)函数 plot(t,f); % 绘制sinc(t)的波形 运行结果: 1.3 信号相加:t t t f ππ20cos 18cos )(+= m13.m syms t; % 定义符号变量t f=cos(18*pi*t)+cos(20*pi*t); % 计算符号函数f(t)=cos(18*pi*t)+cos(20*pi*t) ezplot(f,[0 pi]); % 绘制f(t)的波形 运行结果:

1.4 信号的调制:t t t f ππ50cos )4sin 22()(+= m14.m syms t; % 定义符号变量t f=(2+2*sin(4*pi*t))*cos(50*pi*t) % 计算符号函数f(t)=(2+2*sin(4*pi*t))*cos(50*pi*t) ezplot(f,[0 pi]); % 绘制f(t)的波形 运行结果: 1.5 信号相乘:)20cos()(sin )(t t c t f π?= m15.m t=-5:0.01:5; % 定义时间范围向量 f=sinc(t).*cos(20*pi*t); % 计算函数f(t)=sinc(t)*cos(20*pi*t) plot(t,f); % 绘制f(t)的波形 title('sinc(t)*cos(20*pi*t)'); % 加注波形标题 运行结果:

matlab控制系统仿真.

课程设计报告 题目PID控制器应用 课程名称控制系统仿真院部名称龙蟠学院 专业自动化 班级M10自动化 学生姓名 学号 课程设计地点 C208 课程设计学时一周 指导教师应明峰 金陵科技学院教务处制成绩

一、课程设计应达到的目的 应用所学的自动控制基本知识与工程设计方法,结合生产实际,确定系统的性能指标与实现方案,进行控制系统的初步设计。 应用计算机仿真技术,通过在MATLAB软件上建立控制系统的数学模型,对控制系统进行性能仿真研究,掌握系统参数对系统性能的影响。 二、课程设计题目及要求 1.单回路控制系统的设计及仿真。 2.串级控制系统的设计及仿真。 3.反馈前馈控制系统的设计及仿真。 4.采用Smith 补偿器克服纯滞后的控制系统的设计及仿真。 三、课程设计的内容与步骤 (1).单回路控制系统的设计及仿真。 (a)已知被控对象传函W(s) = 1 / (s2 +20s + 1)。 (b)画出单回路控制系统的方框图。 (c)用MatLab的Simulink画出该系统。

(d)选PID调节器的参数使系统的控制性能较好,并画出相应的单位阶约响应曲线。注明所用PID调节器公式。PID调节器公式Wc(s)=50(5s+1)/(3s+1) 给定值为单位阶跃响应幅值为3。 有积分作用单回路控制系统PID控制器取参数分别为:50 2 5 有积分作用单回路控制系统PID控制器取参数分别为:50 0 5

大比例作用单回路控制系统PID控制器取参数分别为:50 0 0 (e)修改调节器的参数,观察系统的稳定性或单位阶约响应曲线,理解控制器参数对系统的稳定性及控制性能的影响? 答:由上图分别可以看出无积分作用和大比例积分作用下的系数响应曲线,这两个PID调节的响应曲线均不如前面的理想。增大比例系数将加快系统的响应,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏;

控制系统的MATLAB仿真与设计课后答案

控制系统的MATLAB仿真与设计课后答案

>>z=-4*sqrt(2)*sin(t); >>plot3(x,y,z,'p'); >>title('Line in 3-D Space'); >>text(0,0,0,'origin'); >>xlabel('X'),ylable('Y'),zlable('Z');grid; 4>>theta=0:0.01:2*pi; >>rho=sin(2*theta).*cos(2*theta); >>polar(theta,rho,'k'); 5>>[x,y,z]=sphere(20); >>z1=z; >>z1(:,1:4)=NaN; >>c1=ones(size(z1)); >>surf(3*x,3*y,3*z1,c1); >>hold on >>z2=z; >>c2=2*ones(size(z2)); >>c2(:,1:4)=3*ones(size(c2(:,1:4))); >>surf(1.5*x,1.5*y,1.5*z2,c2); >>colormap([0,1,0;0.5,0,0;1,0,0]); >>grid on >>hold off 第四章 1>>for m=100:999 m1=fix(m/100); m2=rem(fix(m/10),10); m3=rem(m,10); if m==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m) end end 2M文件:function[s,p]=fcircle(r) s=pi*r*r; p=2*pi*r; 主程序: [s,p]=fcircle(10) 3>>y=0;n=100; for i=1:n y=y+1/i/i; end >>y

MatLab与控制系统仿真(重点编程)

第 4 章 MatLab 的程序设计 MatLab 是一个工具、开发平台,同时它也是一门编程语言。与在命令窗口用交互的方式工作相比,通过程序运行来解决实际问题,其效率更高,因此,凡是复杂的、大型的应用都是以程序的方式执行。相对其它高级语言, MatLab 更简单、编程的效率更高、调试过程也更容易。 MatLab 中的程序文件是以 m 为后缀,所以通常将 MatLab 的程序文件称为 m 文件。MatLab提供了两种形式的m文件,即:脚本(Script)式m文件(就简称m文件)、函数型 m 文件。在 MatLab 中已经嵌入了一个功能强大的集成开发环境—— m 文件编辑器,用它来进行程序的编辑、修改、调试、运行等,完成应用开发工作。 4.1 MatLab 程序设计基础 通过前面内容的学习,大家对 MatLab 已经有了一个初步的认识和印象,到目前为止,我们都是在“命令”窗口中,以交互的方式运行,完成我们的工作。实际上简单的m 文件,就是一个批处理程序,它是若干条命令的集合。 例: 4.1.1 M 文件规则和属性 函数 M 文件必须遵循一些特定的规则。除此之外,它们有许多的重要属性,这其中包括: 1. 函数名和文件名必须相同。例如,函数 fliplr 存储在名为 fliplr.m 文件中。 2. MATLAB 头一次执行一函数个 M 文件时,它打开相应的文本文件并将命令编辑成存储器的内部表示,以加速执行以后所有的调用。如果函数包含了对其它函 数 M 文件的引用,它们也同样被编译到存储器。普通的脚本 M 文件不被编译,即使它们是从函数 M 文件内调用;打开脚本 M 文件,调用一次就逐行进行注释。 3. 在函数 M 文件中,到第一个非注释行为止的注释行是帮助文本。当需要帮助时,返回该文本。例如, ? help fliplr 返回上述前八行注释。 4. 第一行帮助行,名为 H1 行,是由 lookfor 命令搜索的行。 5. 函数可以有零个或更多个输入参量。函数可以有零个或更多个输出参量。

MATLAB控制系统各种仿真例题(包括simulink解法)

一、 控制系统的模型与转换 1. 请将下面的传递函数模型输入到matlab 环境。 ]52)1)[(2(24)(322 33++++++=s s s s s s s G ) 99.02.0)(1(568 .0)(22+--+=z z z z z H ,T=0.1s >> s=tf('s'); G=(s^3+4*s+2)/(s^3*(s^2+2)*((s^2+1)^3+2*s+5)); G Transfer function: s^3 + 4 s + 2 ------------------------------------------------------ s^11 + 5 s^9 + 9 s^7 + 2 s^6 + 12 s^5 + 4 s^4 + 12 s^3 >> num=[1 0 0.56]; den=conv([1 -1],[1 -0.2 0.99]); H=tf(num,den,'Ts',0.1) Transfer function: z^2 + 0.56 ----------------------------- z^3 - 1.2 z^2 + 1.19 z - 0.99 2. 请将下面的零极点模型输入到matlab 环境。请求出上述模型的零极点,并绘制其位置。 )1)(6)(5()1)(1(8)(22 +++-+++=s s s s j s j s s G ) 2.8() 6.2)(2.3()(1 511-++=----z z z z z H ,T=0.05s >>z=[-1-j -1+j]; p=[0 0 -5 -6 -j j]; G=zpk(z,p,8) Zero/pole/gain: 8 (s^2 + 2s + 2) -------------------------- s^2 (s+5) (s+6) (s^2 + 1) >>pzmap(G)

《MATLAB与控制系统。。仿真》实验报告剖析

《MATLAB与控制系统仿真》 实验报告 班级: 学号: 姓名: 时间:2013 年 6 月

目录实验一 MATLAB环境的熟悉与基本运算(一)实验二 MATLAB环境的熟悉与基本运算(二)实验三 MATLAB语言的程序设计 实验四 MATLAB的图形绘制 实验五基于SIMULINK的系统仿真 实验六控制系统的频域与时域分析 实验七控制系统PID校正器设计法 实验八线性方程组求解及函数求极值

实验一 MATLAB环境的熟悉与基本运算(一) 一、实验目的 1.熟悉MATLAB开发环境 2.掌握矩阵、变量、表达式的各种基本运算 二、实验基本原理 1.熟悉MATLAB环境: MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。 2.掌握MA TLAB常用命令 表1 MA TLAB常用命令 3.MATLAB变量与运算符 3.1变量命名规则 3.2 MATLAB的各种常用运算符 表3 MATLAB关系运算符 表4 MATLAB逻辑运算符

| Or 逻辑或 ~ Not 逻辑非 Xor 逻辑异或 符号功能说明示例符号功能说明示例 :1:1:4;1:2:11 . ;分隔行.. ,分隔列… ()% 注释 [] 构成向量、矩阵!调用操作系统命令 {} 构成单元数组= 用于赋值 4.MATLAB的一维、二维数组的寻访 表6 子数组访问与赋值常用的相关指令格式 三、主要仪器设备及耗材 计算机 四.实验程序及结果 1、新建一个文件夹(自己的名字命名,在机器的最后一个盘符) 2、启动MATLAB,将该文件夹添加到MATLAB路径管理器中。 3、学习使用help命令。

09级系统仿真与MATLAB语言实验

系统仿真与MATLAB语言 实验指导书

对参加实验学生的总要求 1、认真复习有关理论知识,明确每次实验目的,了解实验相关软件操作,熟悉实验内容和方法。 2、实验过程中注意仔细观察,认真记录有关数据和图像,并经由指导教师查验后方可结束实验。 3、应严格遵守实验室规章制度,服从实验室教师的安排和管理。 4、对实验仪器的操作使用严格按照实验室要求进行。

实验总要求 1、封面:注明实验名称、实验人员班级、学号(全号)和姓名等。 2、内容方面:注明实验所用设备、仪器及实验步骤方法;记录清楚实验所得的原始数据和图像,并按实验要求绘制相关图表、曲线或计算相关数据;认真分析所得实验结果,得出明确实验结论。并注明该结论所依据的原理和理论;对实验进行反馈回顾,总结出实验方法要领和注意事项,对实验失败的原因进行分析剖解,总结出实验的经验和教训。 3、文字方面,撰写规范,杜绝错别字。 4、杜绝抄袭,杜绝提供不真实的实验内容。

实验一 MATLAB 语言工作环境和基本操作 1 实验目的 1).熟悉MATLAB 的开发环境; 2).掌握MATLAB 的一些常用命令; 3).掌握矩阵、变量、表达式的输入方法及各种基本运算。 2 实验器材 计算机WinXP 、Matlab7.0软件 3 实验内容 (1). 输入 A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2;3 3 3], 在命令窗口中执行下列表达式,掌握其含义: A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A (2).输入 C=1:2:20,则 C (i )表示什么?其中 i=1,2,3,…,10; (3)掌握MA TLAB 常用命令 >> who %列出工作空间中变量 >> whos %列出工作空间中变量,同时包括变量详细信息 >>save test %将工作空间中变量存储到test.mat 文件中 >>load test %从test.mat 文件中读取变量到工作空间中 >>clear %清除工作空间中变量 >>help 函数名 %对所选函数的功能、调用格式及相关函数给出说明 >>lookfor %查找具有某种功能的函数但却不知道该函数的准确名称 如: lookfor Lyapunov 可列出与Lyapunov 有关的所有函数。 (4) 在MATLAB 的命令窗口计算: 1) )2sin(π 2) 5.4)4.05589(÷?+ (5). 试用 help 命令理解下面程序各指令的含义: clear t =0:0.001:2*pi; subplot(2,2,1); polar(t, 1+cos(t)) subplot(2,2,2); plot(cos(t).^3,sin(t).^3) subplot(2,2,3); polar(t,abs(sin(t).*cos(t))) subplot(2,2,4); polar(t,(cos(2*t)).^0.5) (6)(选做)设计M 文件计算: x=0:0.1:10 当sum>1000时停止运算,并显示求和结果及计算次数。 i i i x x sum 2100 2 -= ∑ =

MATLAB控制系统与仿真设计

MATLAB控制系统与仿真 课 程 设 计 报 告 院(系):电气与控制工程学院 专业班级:测控技术与仪器1301班 姓名:吴凯 学号:1306070127

指导教师:杨洁昝宏洋 基于MATLAB的PID恒温控制器 本论文以温度控制系统为研究对象设计一个PID控制器。PID控制是迄今为止最通用的控制方法,大多数反馈回路用该方法或其较小的变形来控制。PID控制器(亦称调节器)及其改进型因此成为工业过程控制中最常见的控制器(至今在全世界过程控制中用的84%仍是纯PID调节器,若改进型包含在内则超过90%)。在PID控制器的设计中,参数整定是最为重要的,随着计算机技术的迅速发展,对PID参数的整定大多借助于一些先进的软件,例如目前得到广泛应用的MATLAB仿真系统。本设计就是借助此软件主要运用Relay-feedback法,线上综合法和系统辨识法来研究PID控制器的设计方法,设计一个温控系统的PID控制器,并通过MATLAB中的虚拟示波器观察系统完善后在阶跃信号下的输出波形。 关键词:PID参数整定;PID控制器;MATLAB仿真。 Design of PID Controller based on MATLAB Abstract This paper regards temperature control system as the research object to design a pid controller. Pid control is the most common control method up until now; the great majority feedback loop is controlled by this method or its small deformation. Pid controller (claim regulator also) and its second generation so become the most common controllers in the industry process control (so far, about 84% of the controller being used is the pure pid controller, it’ll exceed 90% if the second generation included). Pid parameter setting is most important in pid controller designing, and with the rapid development of the computer technology, it mostly recurs to some advanced software, for example, mat lab simulation software widely used now. this design is to apply that soft mainly use Relay feedback law and synthetic method on the line to study pid

自控-二阶系统Matlab仿真

自动控制原理 二阶系统性能分析Matlab 仿真大作业附题目+ 完整报告内容

设二阶控制系统如图 1所示,其中开环传递函数 ) 1(10 )2()(2+=+=s s s s s G n n ξωω 图1 图2 图3 要求: 1、分别用如图2和图3所示的测速反馈控制和比例微分控制两种方式改善系统的性能,如果要求改善后系统的阻尼比ξ =0.707,则t K 和 d T 分别取多少? 解: 由)1(10 )2()(2 += +=s s s s s G n n ξωω得10 21,10,102===ξωωn 22n n () s s ωξω+R (s )C (s ) -

对于测速反馈控制,其开环传递函数为:) 2()s (2 2n t n n K s s G ωξωω++=; 闭环传递函数为:2 2 2)2 1(2)(n n n t n s K s s ωωωξωφ+++= ; 所以当n t K ωξ2 1+=0.707时,347.02)707.0(t =÷?-=n K ωξ; 对于比例微分控制,其开环传递函数为:)2()1()(2 n n d s s s T s G ξωω++=; 闭环传递函数为:) )2 1(2)1()(2 22 n n n d n d s T s s T s ωωωξωφ++++=; 所以当n d T ωξ2 1 +=0.707时,347.02)707.0(=÷?-=n d T ωξ; 2、请用MATLAB 分别画出第1小题中的3个系统对单位阶跃输入的响应图; 解: ①图一的闭环传递函数为: 2 22 2)(n n n s s s ωξωωφ++=,10 21 ,10n ==ξω Matlab 代码如下: clc clear wn=sqrt(10); zeta=1/(2*sqrt(10)); t=0:0.1:12; Gs=tf(wn^2,[1,2*zeta*wn,wn^2]); step(Gs,t)

《控制系统MATLAB仿真》实验讲义88

《自动控制原理实验》 目录 第一部分实验箱的使用 第二部分经典控制实验 第一章基本实验 实验一典型环节及其阶跃响应 实验二二阶系统阶跃响应 实验三控制系统的稳定性分析 实验四控制系统的频率特性 实验五连续控制系统的串联校正 实验六数字PID控制实验 第二章综合实验 第三部现代控制理论实验 第一章基本实验 第二章综合实验

实验一 典型环节及其阶跃响应 预习要求: 1、复习运算放大器的工作原理;了解采用A μ741运算放大器构成各种运算电路的方法; 2、了解比例控制、微分控制、积分控制的物理意义。 一、实验目的 1、学习自动控制系统典型环节的电模拟方法,了解电路参数对环节特性的影响。 2、学习典型环节阶跃响应的测量方法; 3、学会根据阶跃响应曲线计算确定典型环节的传递函数。 二、实验内容 1、比例环节 电路模拟: 图1-1 传递函数: 2211 ()()()U s R G s U s R ==- 2、惯性环节 电路模拟: 图1-2 传递函数: 22112()/()()11 U s R R K G s U s Ts R Cs = =-=- ++ 3、积分环节 电路模拟: A/D1 D/A1 A/D1

图1-3 传递函数: 21()11 ()()U s G s U s Ts RCs = =-=- 4、微分环节 电路模拟: 图1-4 传递函数: 211() ()() U s G s s RC s U s τ= =-=- 5、比例微分 电路模拟: 图1-5 传递函数: 222111 ()()(1)(1)()U s R G s K s R C s U s R τ= =-+=-+ 6、比例积分 电路模拟: 图1-6 A/D1 2 R D/A1 A/D1 A/D1 A/D1 C

基于Matlab的归一化二阶系统课程设计

Matlab 实训设计(一) 二阶系统变阻尼比的动态仿真系统的设计 一.设计一个二阶系统的变阻尼比的动态仿真系统 二.步骤 (1)程序功能描述 1. 典型二阶系统的传递函数为 ω ωωξ22 2 2)(n n n S s ++= Φ 2. 归一化二阶系统的单位阶跃响应 1、ζ=0(无阻尼)时,系统处于等幅振荡,超调量最大,为100%,并且系统发生不衰减的振荡,永远达不到稳态。 2、0<ζ<1(欠阻尼)时,系统为衰减振荡。为了获得满意的二阶系统的瞬态响应特性,通常阻尼比在0.4~0.8的范围内选择。这时系统在响应的快速性、稳定性等方面都较好。 3、在ζ=1(临界阻尼)及ζ>1(过阻尼)时,二阶系统的瞬态过程具有单调上升的特性,以ζ=1时瞬态过程最短。 (2)程序界面设计 图形界面中的grid on 、grid off 分别是网格和绘图框的打开和关闭按钮

(3)程序测试运行 在编辑框中+还可以输入如0:0.1:0.8的阻尼系数数组,这表示把0到0.8之间的长度以0.1为跨距等份,再以每点的数据得到响应曲线,上式就包含了 ze-ta=0、0.1、0.2···、0.8总共8个阻尼比下的响应曲线

三.控件属性设置 (1)String %显示在控件上的字符串 (2)Callback 回调函数 (3)enable 表示控件是否有效 (4)Tag 控件标记,用于标识控件 四.设计:实现如下功能的系统界面 (1)在编辑框中,可以输入表示阻尼比的标量成行数组、数值,并在按了Enter 键后,在轴上画出图形,坐标范围x[1,15],y[0,2]。 (2)在点击grid on或者grid off键时,在轴上显示或删除“网格线”。(3)在菜单[options]下,有两个下拉菜单[Box on]和[Box off],缺省值为off。(4)所设计界面和其上图形,都按比例缩放。 五.各个控件属性设置 (1)在图形窗中设置 Name 我的设计 Rize on %图窗可以缩放 Tag figure1 %生成handles. figure1 (2)在轴框中 Units normalizen Box off坐标轴不封闭 Tag axes1 XLim[0,15]%x范围 YLim[1,2]%y范围 (3)静态文件框1 fontsize 0.696 fritunits normalizen String“归一化二阶阶跃响应” Tag text1 Horizontalignment Center

二阶系统matlab仿真

simulink仿真 -1<ξ<0 >> step(tf(4^2,[1,2*(-0.5)*4,4^2])) ξ<-1 >> step(tf(4^2,[1,2*(-1.5)*4,4^2])) ξ=0 >> step(tf(4^2,[1,2*0*4,4^2])) 0<ξ<1 >> figure >> step(tf(4^2,[1,2*0.1*4,4^2])) >> step(tf(4^2,[1,2*0.2*4,4^2])) >> step(tf(4^2,[1,2*0.3*4,4^2])) >> step(tf(4^2,[1,2*0.4*4,4^2])) >> step(tf(4^2,[1,2*0.5*4,4^2])) >> step(tf(4^2,[1,2*0.6*4,4^2])) >> step(tf(4^2,[1,2*0.7*4,4^2])) >> step(tf(4^2,[1,2*0.8*4,4^2])) >> step(tf(4^2,[1,2*0.9*4,4^2]))

ξ=1 >> figure >> step(tf(4^2,[1,2*1*4,4^2]))

ξ>1 >> hold on >> step(tf(4^2,[1,2*2.0*4,4^2])) >> step(tf(4^2,[1,2*4.0*4,4^2])) >> step(tf(4^2,[1,2*8.0*4,4^2])) ωn不变,ζ减小

ξ=0.5,改变ωn时的情况: >> figure >> step(tf(1^2,[1,2*0.5*1,1^2])) (ωn=1) >> hold on >> step(tf(2^2,[1,2*0.5*2,2^2])) (ωn=2)>> step(tf(4^2,[1,2*0.5*4,4^2])) (ωn=4)>> step(tf(8^2,[1,2*0.5*8,8^2])) (ωn=8)

MatLab与控制系统仿真(重点编程)

第4章MatLab的程序设计 MatLab是一个工具、开发平台,同时它也是一门编程语言。与在命令窗口用交互的方式工作相比,通过程序运行来解决实际问题,其效率更高,因此,凡是复杂的、大型的应用都是以程序的方式执行。相对其它高级语言,MatLab更简单、编程的效率更高、调试过程也更容易。 MatLab中的程序文件是以m为后缀,所以通常将MatLab的程序文件称为m文件。MatLab提供了两种形式的m文件,即:脚本(Script)式m文件(就简称m文件)、函数型m文件。在MatLab中已经嵌入了一个功能强大的集成开发环境——m文件编辑器,用它来进行程序的编辑、修改、调试、运行等,完成应用开发工作。 4.1 MatLab程序设计基础 通过前面内容的学习,大家对MatLab已经有了一个初步的认识和印象,到目前为止,我们都是在“命令”窗口中,以交互的方式运行,完成我们的工作。实际上简单的m文件,就是一个批处理程序,它是若干条命令的集合。 例: 4.1.1 M文件规则和属性 函数M文件必须遵循一些特定的规则。除此之外,它们有许多的重要属性,这其中包括: 1. 函数名和文件名必须相同。例如,函数fliplr存储在名为fliplr.m文件中。 2. MATLAB头一次执行一函数个M文件时,它打开相应的文本文件并将命令编辑成存储器的内部表示,以加速执行以后所有的调用。如果函数包含了对其它函数M文件的引用,它们也同样被编译到存储器。普通的脚本M文件不被编译,即使它们是从函数M文件内调用;打开脚本M文件,调用一次就逐行进行注释。 页脚内容1

3. 在函数M文件中,到第一个非注释行为止的注释行是帮助文本。当需要帮助时,返回该文本。例如,? help fliplr返回上述前八行注释。 4. 第一行帮助行,名为H1 行,是由lookfor命令搜索的行。 5. 函数可以有零个或更多个输入参量。函数可以有零个或更多个输出参量。 6. 函数可以按少于函数M文件中所规定的输入和输出变量进行调用,但不能用多于函数M文件中所规定的输入和输出变量数目。如果输入和输出变量数目多于函数M文件中function语句一开始所规定的数目,则调用时自动返回一个错误。 相对于函数m文件,脚本式m文件就简单多了,它没有严格的格式要求,只要将有关的命令或函数一一敲入即可,但是还是有几个问题需要注意: 1. m文件的名称不得与MatLab的内部函数同名、第一个字符不得为数字(这点与变量的命名规则相同); 2. 最好在文件的头部加上注释,对该m文件的作用、功能作一个简要说明,而在一些重要命令行后也加上注释行,以方便使用者阅读、查找; 3. 要特别注意m文件的保存路径或位置,如果不是保存在MatLab默认的路径下,可以使用addpath函数来设置、添加路径,否则,m文件不能运行。 脚本式m文件与函数m文件还有一个重要区别:脚本式m文件中的变量均为全局变量,而函数m文件中的变量则是局部变量。这可以从这两种程序文件运行后在Workspace中留下痕迹看出。当然,在函数m文件中也可以专门将某些变量定义为全局变量(关键字是:global)。不过,在使用全局变量(函数m文件中)时应特别注意: ①.全局变量需要函数体的变量赋值语句之前定义或说明; ②.全局变量名最好是大写,而且要尽量长,能反映它本身的含义; 页脚内容2

MATLAB语言与控制系统仿真-参考答案

5.6 控制系统的时域响应MATLAB 仿真实训 5.6.1实训目的 1. 学会利用MATLAB 绘制系统的单位阶跃响应曲线,掌握读取系统动态性能指标的方法; 2. 学会利用MATLAB 绘制系统的单位脉冲响应曲线的方法; 3. 掌握利用MATLAB 绘制系统的零输入响应曲线的方法; 4. 掌握利用MATLAB 绘制系统的一般输入响应曲线的方法; 5. 学会通过仿真曲线读取相关信息,并依据有关信息进行系统的时域分析。 5.6.2实训内容 1.编写程序求取下列各系统的单位阶跃响应,完成表5-5并记录相关曲线。 162.316)(21++= s s s G 16 4.216 )(22 ++=s s s G 166.116)(2 3++=s s s G 1616 )(24++=s s s G 解:>> n1=16; >> d1=[1,3.2,16]; >> sys1=tf(n1,d1); >> step(sys1) >> n2=16; >> d2=[1,2.4,16]; >> sys2=tf(n2,d2); >> step(sys2)

>> n3=16; >> d3=[1,1.6,16]; >> sys3=tf(n3,d3); >> step(sys3) >> n4=16; >> d4=[1,1,16]; >> sys4=tf(n4,d4); >> step(sys4)

序号ξnω m ax c p t s t(% 5 = ?) 计算值实验计算值实验计算值实验值 1 0.4 4 1.2538 1.25 0.8569 0.863 2.1875 2.1 2 0. 3 4 1.3723 1.37 0.8233 0.828 2.9167 2.81 3 0.2 4 1.5266 1.53 0.8016 0.8 4.3750 4.9 4 0.12 5 4 1.6731 1.67 0.791 6 0.803 7.0000 7.33 w=4; cmax1=1+exp(-z1*pi/sqrt(1-z1^2)); tp1=pi/(w*sqrt(1-z1^2)); ts1=3.5/(z1*w); [cmax1,tp1,ts1] ans = 1.2538 0.8569 2.1875 >> z2=0.3; w=4; cmax2=1+exp(-z2*pi/sqrt(1-z2^2)); tp2=pi/(w*sqrt(1-z2^2)); ts2=3.5/(z2*w); [cmax2,tp2,ts2]

基于MATLAB的自动控制系统仿真

摘要 自动控制原理理论性强,现实模型在实验室较难建立,因此利用SIMULINK进行仿真实验,可以加深我们学生对课程的理解,调动我们学习的积极性,同时大大提高了我们深入思考问题的能力和创新能力。本文针对自动控制系统的设计很大程度上还依赖于实际系统的反复实验、调整的普遍现象,结合具体的设计实例,介绍了利用较先进的MATLAB软件中的SIMULINK仿真工具来实现对自动控制系统建模、分析与设计、仿真的方法。它能够直观、快速地分析系统的动态性能、和稳态性能。并且能够灵活的改变系统的结构和参数,通过快速、直观的仿真达到系统的优化设计。关键词:MATLAB;自动控制;系统仿真

Abstract Strong theory of automatic control theory, the reality is more difficult to establish in the laboratory model, thus using the SIMULINK simulation experiment, students can deepen our understanding of the course, to mobilize the enthusiasm of our study, while greatly increasing our ability to think deeply and Innovationcapacity.In this paper, the design of automatic control system is still largely dependent on the actual system of repeated experiments, adjustment of the universal phenomenon, with specific design example, introduced the use of more advanced software in the MATLAB SIMULINK simulation tools to achieve the automatic control systemModeling, Analysis and design, simulation methods.It can intuitively and quickly analyze the dynamic performance, and steady-state performance. Keywords:MATLAB; Automatic control; System simulation

实验三二阶系统matlab仿真(dg)

利用simulink进行仿真的步骤 1.双击桌面图标打开Matlab软件; 2.在Command Window命令行>>后输入simulink并回车或点击窗口上 部图标直接进入simulink界面; 3.在simulink界面点击File-New-Model就可以在Model上建立系统 的仿真模型了; 4.在左面的器件模型库中找到所需模型,用鼠标将器件模型拖到建立 的Model上,然后用鼠标将它们用连线连起来,系统的仿真模型就建立起来了; 5.点击界面上部的图标‘’进行仿真,双击示波器就可以看到仿真结 果。 实验要用到的元件模型的图标及解释如下: 阶跃信号:在simulink-source中可以找到,双击可以设定阶跃时间。 sum:在simulink-math operations中可以找到,双击可以改变器属性以实现信号相加还是相减; 比例环节:在simulink-math operations中可以找到,双击可以改变器属 性以改变比例系数; 积分环节:在simulink-continues中可以找到; 传函的一般数学模型表达形式:在simulink-continues中可以找到,双击可以对传递函数进行更改(通过设定系数)。 示波器:在simulink-sinks中可以找到。

传递函数的Matlab 定义 传递函数以多项式和的形式(一般形式、标准形式)给出 10111011()m m m m n n n n b s b s b s b G s a s a s a s a ----+++=+++ 用如下语句可以定义传递函数G(s) >> num=[b 0,b 1,b 2…b m ] ;只写各项的系数 >> den=[a 0,a 1,a 2,…a n ] ;只写各项的系数 >> g=tf(num,den) 或 >>g=tf([b0,b1,b2…bm],[a0,a1,a2,…an]) 例:用Matlab 定义二阶系统 2 223()(0.6,3)2*0.6*33n G s s s ζω===++ 并用Matlab 语句绘制此二阶系统在单位阶跃信号输入下的输出曲线c(t)(即单位阶跃响应)。 (1)定义函数: >> num=3^2 >> den=[1,2*0.6*3, 3^2] >> g=tf(num,den) (2)求系统的单位阶跃响应c(t): >> step(g) 可得到系统的单位阶跃响应 上述语句实现的功能也可以以一条语句实现: Time (sec)A m p l i t u d e

MATLAB语言与控制系统仿真-参考答案-第5章

控制系统的时域响应MATLAB 仿真实训 实训目的 1. 学会利用MATLAB 绘制系统的单位阶跃响应曲线,掌握读取系统动态性能指标的方法; 2. 学会利用MATLAB 绘制系统的单位脉冲响应曲线的方法; 3. 掌握利用MATLAB 绘制系统的零输入响应曲线的方法; 4. 掌握利用MATLAB 绘制系统的一般输入响应曲线的方法; 5. 学会通过仿真曲线读取相关信息,并依据有关信息进行系统的时域分析。 实训内容 1.编写程序求取下列各系统的单位阶跃响应,完成表5-5并记录相关曲线。 162.316)(21++= s s s G 16 4.216 )(22 ++=s s s G 166.116)(2 3++=s s s G 1616 )(24++=s s s G 解:>> n1=16; >> d1=[1,,16]; >> sys1=tf(n1,d1); >> step(sys1) >> n2=16; >> d2=[1,,16]; >> sys2=tf(n2,d2); >> step(sys2)

>> n3=16; >> d3=[1,,16]; >> sys3=tf(n3,d3); >> step(sys3) >> n4=16; >> d4=[1,1,16]; >> sys4=tf(n4,d4); >> step(sys4)

序号ξnω m ax c p t s t(% 5 = ?)计算值实验计算值实验计算值实验值 14 24 34 44 w=4; cmax1=1+exp(-z1*pi/sqrt(1-z1^2)); tp1=pi/(w*sqrt(1-z1^2)); ts1=(z1*w); [cmax1,tp1,ts1] ans = >> z2=; w=4; cmax2=1+exp(-z2*pi/sqrt(1-z2^2)); tp2=pi/(w*sqrt(1-z2^2)); ts2=(z2*w); [cmax2,tp2,ts2]

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