实验十四_MATLAB的线性控制系统分析与设计说明
线性系统理论Matlab实践仿真报告

线性系统理论Matlab实验报告1、本题目是在已知状态空间描述的情况下要求设计一个状态反馈控制器,从而使得系统具有实数特征根,并要求要有一个根的模值要大于5,而特征根是正数是系统不稳定,这样的设计是无意义的,故而不妨设采用状态反馈后的两个期望特征根为-7,-9,这样满足题目中所需的要求。
(1)要对系统进行状态反馈的设计首先要判断其是否能控,即求出该系统的能控性判别矩阵,然后判断其秩,从而得出其是否可控;判断能控程序设计如下:>> A=[-0.8 0.02;-0.02 0];B=[0.05 1;0.001 0];Qc=ctrb(A,B)Qc =0.0500 1.0000 -0.0400 -0.80000.0010 0 -0.0010 -0.0200Rc=rank(Qc)Rc =2Qc =0.0500 1.0000 -0.0400 -0.80000.0010 0 -0.0010 -0.0200得出结果能控型判别矩阵的秩为2,故而该系统是完全可控的,故可以对其进行状态反馈设计。
(2)求取状态反馈器中的K,设的期望特征根为-7,-9;其设计程序如下:>> A=[-0.8 0.02;-0.02 0];B=[0.05 1;0.001 0];P=[-7 -9];k=place(A,B,P)k =1.0e+003 *-0.0200 9.00000.0072 -0.4500程序中所求出的k即为所求状态反馈控制器的状态反馈矩阵,即由该状态反馈矩阵所构成的状态反馈控制器能够满足题目要求。
2、(a)要求求该系统的能控型矩阵,并验证该系统是不能控的。
设计程序:>> A=[0 1 0 0 0;-0.1 -0.5 0 0 0;0.5 0 0 0 0;0 0 10 0 0;0.5 1 0 0 0];>> B=[0;1;0;0;0];>> C=[0 0 0 1 0];>> Qc=ctrb(A,B)Qc =0 1.0000 -0.5000 0.1500 -0.02501.0000 -0.5000 0.1500 -0.0250 -0.00250 0 0.5000 -0.2500 0.07500 0 0 5.0000 -2.50000 1.0000 0 -0.1000 0.0500>> Rc=rank(Qc)Rc =4从程序运行的结果可得,系统能控型判别矩阵的秩为4,而系统为5阶系统,故而就验证了该系统为不可控的。
MATLAB控制工具箱的应用及线性系统的运动分析

实 验 报 告课程 线性系统理论基础 实验日期 年 月 日 专业班级 姓名 学号 同组人实验名称MATLAB 控制工具箱的应用及线性系统的运动分析 评分 批阅教师签字一、实验目的1、学习掌握MATLAB 控制工具箱中的基本命令的操作方法;2、掌握线性系统的运动分析方法。
二、实验内容(1)自选控制对象模型,应用以下命令,并写出结果。
1) step, damp, pzmap, rlocus, rlocfind, bode, margin, nyquist ; 2) tf2ss, ss2tf, tf2zp, zp2ss ; 3) ss2ss, jordan, canon, eig 。
(2)掌握线性系统的运动分析方法1)已知⎥⎦⎤⎢⎣⎡--=3210A ,求Ate 。
(用三种方法求解) 2) 利用MATLAB 求解书上例2.8题,并画出状态响应和输出响应曲线,求解时域性能指标。
(加图标题、坐标轴标注及图标)3) 利用MATLAB 求解书上例2.12题([]10c =),并画出状态响应和输出响应曲线。
(加图标题、坐标轴标注及图标) 4) P36 1.4(2) 1.5(3);P56 2.3(3)三、实验环境 1、计算机120台; 2、MATLAB6.X 软件1套。
四、实验原理(或程序框图)及步骤1、学习掌握MATLAB 控制工具箱中基本命令的操作设系统的模型如式(1-1)所示:p m n R y R u R x Du Cx y Bu Ax x∈∈∈⎩⎨⎧+=+=(1-1)其中A 为n ×n 维系数矩阵;B 为n ×m 维输入矩阵;C 为p ×n 维输出矩阵;D 为p ×m 维传递矩阵,一般情况下为0。
系统的传递函数阵和状态空间表达式之间的关系如式(1-2)所示:D B A sI C s den s num s G +-==-1)()()(()((1-2)式(1-2)中,)(s num 表示传递函数阵的分子阵,其维数是p ×m ;)(s den 表示传递函数阵的分母多项式,按s 降幂排列的后,各项系数用向量表示。
matlab控制系统课程设计

matlab控制系统课程设计一、课程目标知识目标:1. 学生能掌握MATLAB软件的基本操作,并运用其进行控制系统的建模与仿真。
2. 学生能理解控制系统的基本原理,掌握控制系统的数学描述方法。
3. 学生能运用MATLAB软件分析控制系统的稳定性、瞬态响应和稳态性能。
技能目标:1. 学生能运用MATLAB软件构建控制系统的模型,并进行时域和频域分析。
2. 学生能通过MATLAB编程实现控制算法,如PID控制、状态反馈控制等。
3. 学生能对控制系统的性能进行优化,并提出改进措施。
情感态度价值观目标:1. 学生通过课程学习,培养对自动化技术的兴趣和热情,提高创新意识和实践能力。
2. 学生在团队协作中,学会沟通与交流,培养合作精神和集体荣誉感。
3. 学生能认识到控制系统在现代工程技术中的重要作用,增强社会责任感和使命感。
课程性质:本课程为实践性较强的课程,注重理论知识与实际应用相结合。
学生特点:学生具备一定的数学基础和控制理论基础知识,对MATLAB软件有一定了解。
教学要求:教师需采用案例教学法,引导学生运用MATLAB软件进行控制系统设计,注重培养学生的实际操作能力和解决问题的能力。
同时,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. 控制系统概述:介绍控制系统的基本概念、分类及发展历程,使学生了解控制系统的基本框架。
- 教材章节:第一章 控制系统概述2. 控制系统的数学模型:讲解控制系统的数学描述方法,包括微分方程、传递函数、状态空间方程等。
- 教材章节:第二章 控制系统的数学模型3. MATLAB软件操作基础:介绍MATLAB软件的基本操作,包括数据类型、矩阵运算、函数编写等。
- 教材章节:第三章 MATLAB软件操作基础4. 控制系统建模与仿真:利用MATLAB软件进行控制系统的建模与仿真,分析系统的稳定性、瞬态响应和稳态性能。
- 教材章节:第四章 控制系统建模与仿真5. 控制算法及其MATLAB实现:讲解常见控制算法,如PID控制、状态反馈控制等,并通过MATLAB编程实现。
(完整版)基于MATLAB的智能控制系统的介绍与设计实例最新毕业论文

武汉科技大学智能控制系统学院:信息科学与工程学院专业:控制理论与控制工程学号:姓名:***基于MATLAB的智能控制系统的介绍与设计实例摘要现代控制系统,规模越来越大,系统越来越复杂,用传统的控制理论方法己不能满控制的要求。
智能控制是在经典控制理论和现代控制理论的基础上发展起来的,是控制理论、人工智能和计算机科学相结合的产物。
MATLAB是现今流行的一种高性能数值计算和图形显示的科学和工程计算软件。
本文首先介绍了智能控制的一些基本理论知识,在这些理论知识的基础之上通过列举倒立摆控制的具体实例,结合matlab对智能控制技术进行了深入的研究。
第一章引言自动控制就是在没有人直接参与的条件下,利用控制器使被控对象(如机器、设备和生产过程)的某些物理量能自动地按照预定的规律变化。
它是介于许多学科之间的综合应用学科,物理学、数学、力学、电子学、生物学等是该学科的重要基础。
自动控制系统的实例最早出现于美国,用于工厂的生产过程控制。
美国数学家维纳在20世纪40年代创立了“控制论”。
伴随着计算机出现,自动控制系统的研究和使用获得了很快的发展。
在控制技术发展的过程中,待求解的控制问题变得越来越复杂,控制品质要求越来越高。
这就要求必须分析和设计相应越来越复杂的控制系统。
智能控制系统(ICS)是复杂性急剧增加了的控制系统。
它是由控制问题的复杂性急剧增加而带来的结果,其采用了当今其他学科的一些先进研究成果,其根本目的在于求解复杂的控制问题。
近年来,ICS引起了人们广泛的兴趣,它体现了众多学科前沿研究的高度交叉和综合。
作为一个复杂的智能计算机控制系统,在其建立投入使用前,必要首先进行仿真实验和分析。
计算机仿真(Compeer Simulation)又称计算机模拟(Computer Analogy)或计算机实验。
所谓计算机仿真就是建立系统模型的仿真模型进而在计算机上对该仿真模型进行模拟实验(仿真实验)研究的过程。
计算机仿真方法即以计算机仿真为手段,通过仿真模型模拟实际系统的运动来认识其规律的一种研究方法。
Matlab技术控制系统设计

Matlab技术控制系统设计Matlab技术在控制系统设计中的应用引言控制系统是现代工程领域的重要组成部分,广泛应用于机械、电子、化工等各个行业。
而Matlab作为一种高级技术计算软件,以其强大的数学运算和数据处理功能,成为控制系统设计中的重要工具。
本文将通过介绍Matlab技术在控制系统设计中的应用,探讨其在不同环节的作用,并举例说明其在实际工程中的应用。
一、建模与仿真控制系统设计的第一步是建立准确的数学模型,并进行仿真验证。
而Matlab提供了丰富的工具箱,如Simulink、Control System Toolbox等,可以有效地进行系统建模和仿真。
在建模方面,Matlab提供了多种建模方法,例如状态空间法、传递函数法等。
我们可以根据实际问题选择适合的建模方法,并使用Matlab进行快速建模。
同时,Matlab还提供了多种模型分析工具,如频域分析、时域响应等,可以帮助我们对系统进行深入分析。
在仿真方面,利用Matlab的Simulink工具,我们可以直观地搭建整个控制系统的仿真模型。
通过设置输入信号和参数,我们可以模拟系统的运行过程,并得到准确的输出结果。
利用Matlab的仿真功能,可以有效地验证系统设计的可行性,提高设计的准确性和效率。
二、控制算法设计控制系统设计的核心是控制算法的设计。
Matlab提供了丰富的控制算法函数和工具箱,如PID控制器、根轨迹设计工具等,可以帮助工程师轻松实现各种经典和先进的控制算法。
以PID控制算法为例,Matlab提供了PID控制器设计工具,可以根据系统的数学模型自动计算出合适的控制增益,并通过仿真工具进行系统性能评估。
此外,Matlab还提供了自适应控制、模糊控制、最优控制等高级控制算法的实现工具,满足不同应用场景的需求。
同时,Matlab还支持使用优化算法进行控制器参数优化。
通过利用Matlab的优化工具箱,我们可以将控制系统的性能指标作为目标函数,结合系统模型和约束条件,自动搜索最佳的控制器参数。
初步认识MATLAB和控制系统仿真实验报告

sys3=series(sys1,sys2);
sys=feedback(sys3,[1])
理论分析:
此系统是由 构成的单位正反馈,其闭环传递函数
运行结果:
Transfer function:
s^2 + 2 s + 1
numc=[1 1]; denc=[1 2]; sys2=tf(numc,denc);
sys3=series(sys1,sys2);
sys=feedback(sys3,[1])
理论分析:
此系统是由 构成的单位正反馈,其闭环传递函数
运行结果:
Transfer function:
s + 1
--------------------------
s^2 + 3 s + 2
----------------------
s^3 + 5 s^2 + 10 s + 9
理论分析与实际运行结果相符。
(4)多回路系统的简化
其中,
源程序:
% Chapter 2: Figure 2.60
% Multi-loop block reduction.
%
ng1=[1]; dg1=[1 10]; sysg1=tf(ng1,dg1);
numh=[1 1];denh=[1 2]; sysh=tf(numh,denh);
sys =parallel(sysg,sysh);
sys
理论分析:
并联,则
运行结果:
Transfer function:
s^3 + 4 s^2 + 9 s + 6
MATLAB-ch020(线性控制系统分析与设计)

MATLAB-ch020(线性控制系统分析与设计)第20讲 线性控制系统分析与设计内容提要: 重点及难点:自从MATLAB 出现以来,它强大的矩阵运算和图形可视化的功能以及丰富的工具箱,使其成为控制界最流行和最广泛使用的系统分析和设计工具。
MATLAB 中具有丰富的可用于控制系统分析和设计的函数;MATLAB 的控制系统工具箱(Control System Toolbox)可以提供对线性系统分析、设计和建模的各种算法;MATLAB 的系统辨识工具箱(System Identification Toolbox)可以对控制对象的未知模型进行辨识和建模。
本章主要使用控制系统工具箱对于线性时不变系统(LTI )进行分析和设计,可以处理连续的和离散的系统,使用传递函数或状态空间法来描述系统。
分析方法有时域、频域和根轨迹法等。
§20.1 线性系统的描述在分析和设计控制系统之前,需要对系统的数学模型进行描述,下面对单变量连续的反馈控制系统进行描述。
一、状态空间描述法1、用状态空间描述系统方程状态空间描述法是使用状态方程模型来描述控制系统,状态方程为一阶微分方程,用数学形式描述为:⎩⎨⎧+=+=Du Cx y Bu Ax x(20.1.1) 其中:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=nn n n n n a a a a a a a a a A 212222111211,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=n b b b B 21,C =[c 1 c 2 … c n ],D =d 。
例如,二阶系统)()()(2)(2222t u t y dt t dy dtt y d n n n ωωξω=++,可以用状态方程描述为:⎪⎩⎪⎨⎧==dt t dy x t y x )()(21 (20.1.2) 则:⎪⎪⎩⎪⎪⎨⎧+--==)()(2)()(2221t u dt t dy t y x dtt dy x n n n ωξωω 写成矩阵形式:)(0210221221t u x x x xn n n ⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡--=⎥⎦⎤⎢⎣⎡ωξωω (20.1.3) 另外,系统的状态方程也可以表示为:⎩⎨⎧+=+=DuCx Y Bu Ax xE (20.1.4)2、ss 函数和dss 函数MATLAB 中状态方程模型的建立使用ss 和dss 命令。
用matlab实现自动控制系统的分析与设计

使用MATLAB对控制系统进行计算机仿真旳重要措施是: 以控制系统旳传递函数为基础, 使用MATLAB旳Simulink工具箱对其进行计算机仿真研究.1. 时域分析中性能指.为了保证电力生产设备旳安全经济运行, 在设计电力自动控制系统时, 必须给出明确旳系统性能指标, 即控制系统旳稳定性、精确性和迅速性指标。
一般用这三项技术指标来综合评价一种系统旳控制水平。
对于一种稳定旳控制系统, 定量衡量性能旳好坏有如下几种性能指标: (1)峰值时间tp;(2)调整时间ts;(3)上升时间tr;(4)超调量Mp%.怎样确定控制系统旳性能指标是控制系统旳分析问题;怎样使自动控制系统旳性能指标满足设计规定是控制系统旳设计与改造问题。
在以往进行设计时, 都需要通过性能指标旳定义徒手进行大量、复杂旳计算, 如今运用MATLAB可以迅速、精确旳直接根据响应曲线得出性能指标。
例如: 求如下二阶系统旳性能指标.首先用MATLAB在命令窗口编写如下几条简朴命令.num=[3].%传递函数旳分子多项式系数矩.den=[.1..3].%传递函数旳分母多项式系数矩.G=tf(num,den).%建立传递函.gri.on.%图形上出现表.step(G.%绘制单位阶跃响应曲.通过以上命令得到单位阶跃响应曲线如图1, 同步在曲线上根据性能指标旳定义单击右键, 则分别可以得到此系统旳性能指标: 峰值时间tp=1.22s;调整时间ts=4.84s;上升时间tr=0.878s;超调量Mp%=22.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.图.延迟系统阶跃响应曲.措施二: 用Simulink模型窗口中旳Transpor.Delay(对输入信号进行给定旳延迟)模.首先在Simulink模型窗口中绘制动态构造图, 如图3所示.图.迟延系统旳SIMULINK实.然后双击示波器模块, 从得到旳曲线可以看出, 与措施一旳成果是相似.3. 稳定性判断旳几种分析措.稳定性是控制系统能否正常工作旳首要条件, 因此在进行控制系统旳设计时首先鉴别系统旳稳定性。
Matlab中的稳定性分析与控制设计方法

Matlab中的稳定性分析与控制设计方法简介:Matlab是一种功能强大的数值计算和科学编程平台,被广泛应用于控制系统设计和分析领域。
本文将介绍Matlab中的稳定性分析和控制设计方法,探讨如何利用Matlab进行系统稳定性分析、控制器设计和性能优化。
一、系统稳定性分析1. 稳定性概念稳定性是控制系统设计中一个重要的指标,指系统在一定输入下是否趋向于稳定的状态。
在Matlab中,我们可以使用稳定性分析工具箱来分析系统的稳定性。
该工具箱提供了多种稳定性判据和计算方法,如时间响应法、频率响应法和根轨迹法等。
2. 时间响应法时间响应法是一种使用系统的输入信号与输出响应之间的时域关系来分析系统稳定性的方法。
在Matlab中,我们可以使用step()函数来绘制系统的阶跃响应图,并通过观察图形来判断系统是否稳定。
此外,还可以使用impulse()函数来绘制系统的冲击响应图,以进一步验证系统的稳定性。
3. 频率响应法频率响应法是一种使用系统的输入信号与输出响应之间的频域关系来分析系统稳定性的方法。
在Matlab中,我们可以使用bode()函数来绘制系统的频率响应图,该图显示了系统在不同频率下的增益和相位特性。
通过分析频率响应图,我们可以判断系统是否存在频率特性上的不稳定性。
4. 根轨迹法根轨迹法是一种使用系统的传递函数的零点和极点分布来分析系统稳定性的方法。
在Matlab中,我们可以使用rlocus()函数来绘制系统的根轨迹图,该图显示了系统的极点随控制参数变化时的轨迹。
通过分析根轨迹图,我们可以确定系统的稳定边界和稳定性。
二、控制器设计方法1. PID控制器PID控制器是一种常用的控制器设计方法,可以实现对系统的稳定性和性能进行调节。
在Matlab中,我们可以使用pidtool()函数来设计PID控制器。
该工具提供了可视化界面,可以通过调整参数来优化控制器的性能。
同时,Matlab还提供了pid()函数和tf()函数等用于创建PID控制器和传递函数模型的函数。
MATLAB实验报告——运用MATLAB求解和分析线性时不变系统1

MATLAB实验报告课程名称 MATLAB程序设计实验日期 2015 年 05 月 11 日数据记录及分析1.例12.4-1(1)用MATLAB在时域中求解)()(12)(16)(7)(2233t et rdttdrdtt r ddtt r d=+++的齐次解。
程序截图:(2)程序截图:运行图像截图:2.例12.4-2求连续时间系统)()()(3)t(2)(22t edttdet rdtdrdtt rd+=++,当2)(tt e=时的特解。
程序截图:运行图像截图:3. 例12.4-3用户MATLAB在时域中求解)()()(t et rdttdr=+,)()1()(3tuete t-+=的零响入相应。
解法一:程序截图:运行图像截图:解法二:用MATLAB的dsolve函数直接获得零状态响应的表达式程序截图:运行图像截图:解法三:程序截图:运行图像截图:4.例12.4-5用MATLAB求解方程零状态响应分量,已知系统差分方程为nxyx-+nnnnunx=。
(n) y系统的激励序列)( y+7)+()2)1(21.0()1+=(+-)2(7.0程序截图:运行图像截图:。
MATLAB 实用教程:第6章 线性控制系统分析与设计

6.4.2 脉冲响应分析
1. 连续系统的脉冲响应 impulse(G, Ts) %绘制系统的脉冲响应曲线 impulse(G1,G2,…,Ts)% 绘 制 多 个 系 统 的 脉 冲 响 应 [y,t,x]=impulse(G,Ts) %得出脉冲响应 说明:G为系统模型;y为时间响应;t为时间向量; x为状态变量响应,t和x可省略;Ts为时间点可省略。
3. 系统根轨迹的设计工具RLTool rltool(G) %打开某系统根轨迹分析的图形界面
练习:
画出最佳二阶系统当输入为脉冲、阶跃信号时的波
形。
>> num=1
>> den=[1 1.414 1];
>> G=tf(num,den);
>> t=0:0.1:20;
>> impulse(G,t) >> hold on >> step(G,t)
G=tf(num,den)
说明:num为分子向量, num=[b1,b2,…,bm,bm+1];
den为分母向量,den=[a1,a2,…,an-1,an]。 例:最佳二阶系统 。
>> num=1;
>> den=[1 1.414 1];
>> G=tf(num,den)
%得出传递函数
6.1.3 零极点描述法
6.2.3 模型对象的属性
1. 模型对象的属性
2. get命令和set命令
《自动控制原理》MATLAB的使用分析与设计研究 仿真实验报告

兰州理工大学《自动控制原理》MATLAB分析与设计仿真实验报告院系:电信学院班级:姓名:学号:时间:2010年11月30日电气工程与信息工程学院《自动控制原理》MATLAB分析与设计仿真实验任务书(2009)一.仿真实验内容及要求:1.MATLAB软件要求学生通过课余时间自学掌握MATLAB软件的基本数值运算、基本符号运算、基本程序设计方法及常用的图形命令操作;熟悉MATLAB仿真集成环境Simulink的使用。
2.各章节实验内容及要求1)第三章线性系统的时域分析法• 对教材P136.3-5系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比较,分析仿真结果;• 对教材P136.3-9系统的动态性能及稳态性能通过的仿真进行分析,说明不同控制器的作用;• 在MATLAB 环境下完成英文讲义P153.E3.3。
• 对英文讲义中的循序渐进实例“Disk Drive Read System ”,在100=a K 时,试采用微分反馈使系统的性能满足给定的设计指标。
2)第四章 线性系统的根轨迹法• 在MATLAB 环境下完成英文讲义P157.E4.5; • 利用MATLAB 绘制教材P181.4-5-(3);• 在MATLAB 环境下选择完成教材第四章习题4-10或4-18,并对结果进行分析。
3)第五章 线性系统的频域分析法利用MATLAB 绘制本章作业中任意2个习题的频域特性曲线; 4)第六章 线性系统的校正利用MATLAB 选择设计本章作业中至少2个习题的控制器,并利用系统的单位阶跃响应说明所设计控制器的功能。
5)第七章 线性离散系统的分析与校正• 利用MATLAB 完成教材P383.7-20的最小拍系统设计及验证。
• 利用MATLAB 完成教材P385.7-25的控制器的设计及验证。
二.仿真实验时间安排及相关事宜1.依据课程教学大纲要求,仿真实验共6学时,教师可随课程进度安排上机时间,学生须在实验之前做好相应的准备,以确保在有限的机时内完成仿真实验要求的内容; 2.实验完成后按规定完成相关的仿真实验报告; 3.仿真实验报告请参照有关样本制作并打印装订;4.仿真实验报告必须在本学期第15学周结束之前上交授课教师。
利用Matlab进行控制系统设计和分析

利用Matlab进行控制系统设计和分析控制系统是各个工程领域中不可或缺的一部分。
它可以用来控制机器人、飞行器、电机以及其他众多的实际工程应用。
Matlab作为一种功能强大的数值计算软件,提供了丰富的工具和函数来进行控制系统设计和分析。
本文将介绍如何利用Matlab来进行控制系统的设计和分析。
一、控制系统基本概念在开始之前,我们先来了解一些控制系统的基本概念。
控制系统由三个基本组成部分构成:输入、输出和反馈。
输入是指信号或者指令,输出则是系统对指令的响应,而反馈则是输出信号对系统输入的影响。
二、Matlab中的控制系统工具箱Matlab提供了专门用于控制系统设计和分析的工具箱。
其中最重要的是Control System Toolbox。
该工具箱中包含了一系列用于控制系统设计和分析的函数和工具。
使用Control System Toolbox,我们可以很方便地进行控制系统的建模、设计和分析。
三、控制系统的建模控制系统的建模是指将实际系统抽象为数学模型。
在Matlab中,我们可以使用State Space模型、Transfer Function模型以及Zero-Pole-Gain模型来描述控制系统。
1. 状态空间模型状态空间模型是一种常用的描述系统动态响应的方法。
在Matlab中,我们可以使用stateSpace函数来创建状态空间模型。
例如,我们可以通过以下方式创建一个简单的二阶状态空间模型:A = [0 1; -1 -1];B = [0; 1];C = [1 0];D = 0;sys = ss(A, B, C, D);2. 传递函数模型传递函数模型是另一种常用的描述系统动态响应的方法。
在Matlab中,我们可以使用tf函数来创建传递函数模型。
例如,我们可以通过以下方式创建一个简单的一阶传递函数模型:num = 1;den = [1 2];sys = tf(num, den);3. 零极点增益模型零极点增益模型是用来描述系统频域特性的一种方法。
《自动控制原理》MATLAB分析与设计仿真实验报告

《自动控制原理》MATLAB分析与设计仿真实验任务书(2010)一.仿真实验内容及要求:1.MATLAB软件要求学生通过课余时间自学掌握MATLAB软件的基本数值运算、基本符号运算、基本程序设计方法及常用的图形命令操作;熟悉MATLAB 仿真集成环境Simulink的使用。
2.各章节实验内容及要求1)第三章 线性系统的时域分析法对教材P136.3-5系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比较,分析仿真结果;对教材P136.3-9系统的动态性能及稳态性能通过的仿真进行分析,说明不同控制器的作用;在MATLAB环境下完成英文讲义P153.E3.3。
对英文讲义中的循序渐进实例“Disk Drive Read System”,在时,试采用微分反馈使系统的性能满足给定的设计指标。
2)第四章 线性系统的根轨迹法在MATLAB环境下完成英文讲义P157.E4.5;利用MATLAB绘制教材P181.4-5-(3);在MATLAB环境下选择完成教材第四章习题4-10或4-18,并对结果进行分析。
3)第五章 线性系统的频域分析法利用MATLAB绘制本章作业中任意2个习题的频域特性曲线;4)第六章 线性系统的校正利用MATLAB选择设计本章作业中至少2个习题的控制器,并利用系统的单位阶跃响应说明所设计控制器的功能。
5)第七章 线性离散系统的分析与校正利用MATLAB完成教材P383.7-20的最小拍系统设计及验证。
利用MATLAB完成教材P385.7-25的控制器的设计及验证。
二.仿真实验时间安排及相关事宜1.依据课程教学大纲要求,仿真实验共6学时,教师可随课程进度安排上机时间,学生须在实验之前做好相应的准备,以确保在有限的机时内完成仿真实验要求的内容;2.实验完成后按规定完成相关的仿真实验报告;3.仿真实验报告请参照有关样本制作并打印装订;4.仿真实验报告必须在本学期第15学周结束之前上交授课教师。
《自动控制原理》实验报告-MATLAB分析与设计仿真

兰州理工大学《自动控制原理》MATLAB分析与设计仿真实验报告院系:电信学院班级:姓名:学号:时间:2010 年11 月22 日电气工程与信息工程学院《自动控制原理》MATLAB分析与设计仿真实验任务书(2010)一.仿真实验内容及要求:1.MATLAB软件要求学生通过课余时间自学掌握MATLAB软件的基本数值运算、基本符号运算、基本程序设计方法及常用的图形命令操作;熟悉MATLAB仿真集成环境Simulink的使用。
2.各章节实验内容及要求1)第三章线性系统的时域分析法•对教材P136.3-5系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比较,分析仿真结果;•对教材P136.3-9系统的动态性能及稳态性能通过的仿真进行分析,说明不同控制器的作用;•在MATLAB环境下完成英文讲义P153.E3.3。
•对英文讲义中的循序渐进实例“Disk Drive Read System”,在100=K时,试采a用微分反馈使系统的性能满足给定的设计指标。
2)第四章线性系统的根轨迹法•在MATLAB环境下完成英文讲义P157.E4.5;•利用MATLAB绘制教材P181.4-5-(3);•在MATLAB环境下选择完成教材第四章习题4-10或4-18,并对结果进行分析。
3)第五章线性系统的频域分析法利用MATLAB绘制本章作业中任意2个习题的频域特性曲线;4)第六章线性系统的校正利用MATLAB选择设计本章作业中至少2个习题的控制器,并利用系统的单位阶跃响应说明所设计控制器的功能。
5)第七章线性离散系统的分析与校正•利用MATLAB完成教材P383.7-20的最小拍系统设计及验证。
•利用MATLAB完成教材P385.7-25的控制器的设计及验证。
二.仿真实验时间安排及相关事宜1.依据课程教学大纲要求,仿真实验共6学时,教师可随课程进度安排上机时间,学生须在实验之前做好相应的准备,以确保在有限的机时内完成仿真实验要求的内容;2.实验完成后按规定完成相关的仿真实验报告;3.仿真实验报告请参照有关样本制作并打印装订;4.仿真实验报告必须在本学期第15学周结束之前上交授课教师。
MATLAB实验报告(信号与线性系统分析)

实验一 MATLAB 的基本使用【一】 实验目的1.了解MA TALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境;2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力;3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。
【二】 MATLAB 的基础知识通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取五. MATLAB 的数值计算功能六. 程序流程控制 七. M 文件八. 函数文件九. MATLAB 的可视化 【三】上机练习1. 仔细预习第二部分内容,关于MATLAB 的基础知识。
2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍3.已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=123456789,987654321B A 。
求A*B ,A .* B ,比较二者结果是否相同。
并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以及最大值。
解:代码:A=[1,2,3;4,5,6;7,8,9];B=[9,8,7;6,5,4;3,2,1]; A*B A.*B两者结果不相同A*B=30 24 18 84 69 54 138 114 90 A.*B= 9 16 21 24 25 24 21 16 9求A 矩阵的行和列: [M,N]=size(A)M =3N =3 求A 矩阵的长度:x=length(A)x =3 元素和:sum(sum(A))ans =45最大值:max(max(A))ans =94. Fibonacci 数组的元素满足Fibonacci 规则:),2,1(,12=+=++k a a a k k k ;且121==a a 。
现要求该数组中第一个大于10000的元素。
MATLAB线性系统时域响应分析实验

MATLAB线性系统时域响应分析实验线性系统时域响应分析是信号与系统课程中非常重要的一部分,通过掌握该实验可以深入了解线性系统的特性和性能。
本实验将介绍如何利用MATLAB软件进行线性系统时域响应分析。
一、实验目的1.掌握线性时不变系统的时域响应分析方法;2.学会利用MATLAB软件进行线性系统的时域响应分析;二、实验原理线性系统时域响应分析是指对于给定的线性时不变系统,通过输入信号和系统的冲激响应,求解系统的输出信号。
其基本原理可以用以下公式表示:y(t) = Σ[h(t)*x(t-tk)]其中,y(t)表示系统的输出信号,x(t)表示系统的输入信号,h(t)表示系统的冲激响应,tk表示冲激响应的时刻。
在MATLAB中,我们可以利用conv函数来计算线性系统的时域响应。
具体步骤如下:步骤一:定义输入信号x(t)和系统的冲激响应h(t);步骤二:利用conv函数计算系统的时域响应y(t);步骤三:绘制输入信号、冲激响应和输出信号的图像;步骤四:分析系统的特性和性能。
三、实验内容1.定义输入信号x(t)和系统的冲激响应h(t);2. 利用conv函数计算系统的时域响应y(t);3.绘制输入信号、冲激响应和输出信号的图像;4.分析系统的特性和性能,包括时域特性、频域特性、稳定性等。
四、实验步骤1.打开MATLAB软件并新建一个脚本文件;2.定义输入信号x(t)和系统的冲激响应h(t);3. 利用conv函数计算系统的时域响应y(t);4.绘制输入信号、冲激响应和输出信号的图像;5.分析系统的特性和性能,包括时域特性、频域特性、稳定性等;6.运行脚本文件,并观察输出图像和分析结果;7.根据实验结果和分析结果,进行总结和讨论。
五、实验总结通过本次实验,我们掌握了利用MATLAB软件进行线性系统时域响应分析的方法。
实验中,我们定义了输入信号和系统的冲激响应,并利用conv函数计算了系统的时域响应。
然后,我们绘制了输入信号、冲激响应和输出信号的图像,并分析了系统的特性和性能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验十四: MATLAB 的线性控制系统分析与设计一.实验目的1.熟练掌握线性系统的各种模型描述。
2.熟练掌握模型之间的转换。
二.实验容与步骤在控制系统分析与设计中,常用状态方程模型来描述一个控制系统,状态方程通常为一阶微分方程例如,二阶系统 可用状态方程描述如下 其中:MATLAB 的控制系统工具箱(Control System Toolbox)可以提供对线性系统分析、设计和建模的各种算法。
1.1状态空间描述法状态空间描述法是使用状态方程模型来描述控制系统,MATLAB 中状态方程模型的建立使用ss 和dss 命令。
语法:G=ss(a,b,c,d) %由a 、b 、c 、d 参数获得状态方程模型G=dss(a,b,c,d,e) %由a 、b 、c 、d 、e 参数获得状态方程模型【例1】写出二阶系统u(t)ωy(t)ωdtdy(t)2ζdt y(t)d 2n 2n n 22=+ω+,当ζ=0.707,n ω=1时的状态方程。
zeta=0.707;wn=1;A=[0 1;-wn^2 -2*zeta*wn];B=[0;wn^2];C=[1 0];D=0;G=ss(A,B,C,D) %建立状态方程模型⎩⎨⎧+=+=Du Cx y Bu Ax x &u (t)2n ωy(t)2n ωd t d y(t)n 2ζ2d t y(t)2d =+ω+u(t)ω0x x 2ζω10x x 2n 21n 2n 21⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡ω--=⎥⎦⎤⎢⎣⎡&&dtt dy x t y x )()(21==a =x1 x2x1 0 1x2 -1 -1.414b =u1x1 0x2 1c =x1 x2y1 1 0d =u1y1 0Continuous-time model.1.2传递函数描述法MATLAB中使用tf命令来建立传递函数。
语法:G=tf(num,den) %由传递函数分子分母得出说明:num为分子向量,num=[b1,b2,…,b m,b m+1];den为分母向量,den=[a1,a2,…,a n-1,a n]。
【例1续】将二阶系统描述为传递函数的形式。
num=1;den=[1 1.414 1];G=tf(num,den) %得出传递函数Transfer function:1-----------------s^2 + 1.414 s + 11.3零极点描述法MATLAB 中使用zpk 命令可以来实现由零极点得到传递函数模型。
语法:G=zpk(z,p,k) %由零点、极点和增益获得说明:z 为零点列向量;p 为极点列向量;k 为增益。
【例1续】得出二阶系统的零极点,并得出传递函数。
num=1;den=[1 1.414 1];z=roots(num)p=roots(den)zpk(z,p,1)z =Empty matrix: 0-by-1p =-0.7070 + 0.7072i-0.7070 - 0.7072iZero/pole/gain:1-------------------(s^2 + 1.414s + 1)程序分析:roots 函数可以得出多项式的根,零极点形式是以实数形式表示的。
部分分式法是将传递函数表示成部分分式或留数形式:k(s)p s r p s r p s r G (s)nn 2211+-++-+-=Λ 【例1续】将传递函数转换成部分分式法,得出各系数num=1;den=[1 1.414 1];[r,p,k]=residue(num,den)r =0 - 0.7070i0 + 0.7070ip =-0.7070 + 0.7072i-0.7070 - 0.7072ik =[]1.4离散系统的数学描述1.状态空间描述法状态空间描述离散系统也可使用ss和dss命令。
语法:G=ss(a,b,c,d,Ts) %由a、b、c、d参数获得状态方程模型G=dss(a,b,c,d,e,Ts) %由a、b、c、d、e参数获得状态方程模型说明:Ts为采样周期,为标量,当采样周期未指明可以用-1表示。
【例2】用状态空间法建立离散系统。
a=[-1.5 -0.5;1 0];b=[1;0];c=[0 0.5];d=0;G=ss(a,b,c,d,0.2) %采样周期为0.2sa =x1 x2x1 -1.5 -0.5x2 1 0b =u1x1 1x2 0c =x1 x2y1 0 0.5d =u1y1 0Sampling time: 0.2Discrete-time model.2. 脉冲传递函数描述法脉冲传递函数也可以用tf 命令实现。
语法:G=tf(num,den,Ts) %由分子分母得出脉冲传递函数说明:Ts 为采样周期,为标量,当采样周期未指明可以用-1表示,自变量用'z'表示。
【例2续】创建离散系统脉冲传递函数21120.5z 1.5z 10.5z 0.51.5z z 0.5zG(z)---+-=+-=。
num1=[0.5 0];den=[1 -1.5 0.5];G1=tf(num1,den,-1)Transfer function:0.5 z-----------------z^2 - 1.5 z + 0.5Sampling time: unspecifiedMATLAB 中还可以用filt 命令产生脉冲传递函数。
语法:G=filt(num,den,Ts) %由分子分母得出脉冲传递函数说明:Ts 为采样周期,当采样周期未指明Ts 可以省略,也可以用-1表示,自变量用'z-1'表示。
【例2续】使用filt 命令产生脉冲传递函数。
num2=[0 0.5];G2=filt(num2,den)Transfer function:0.5 z^-1-----------------------1 - 1.5 z^-1 + 0.5 z^-2Sampling time: unspecified程序说明:用filt 命令生成的脉冲传递函数的自变量不是z 而是z -1,因此分子应改为“[0 0.5]”。
3. 零极点增益描述法离散系统的零极点增益用zpk 命令实现。
语法:G=zpk(z,p,k,Ts) %由零极点得出脉冲传递函数【例2续】使用zpk 命令产生零极点增益传递函数。
G3=zpk([0],[0.5 1],0.5,-1)Zero/pole/gain:0.5 z-------------(z-0.5) (z-1)Sampling time: unspecified2线性系统模型之间的转换在MATLAB5.3版及以前的控制系统工具箱中有各种不同模型转换的函数,如下表 6.1所示为线性系统模型转换的函数。
1. 系统模型的转换(1) 状态空间模型的获得由命令ss和dss实现将传递函数和零极点增益转换为状态空间模型。
语法:G=ss(传递函数) %由传递函数转换获得G=ss(零极点模型) %由零极点模型转换获得【例3】将系统传递函数转换为状态空间描述。
num=[1 2 5];den=[3 5 2 1];G1=tf(num,den)G=ss(G1)Transfer function:s^2 + 2 s + 5-----------------------3 s^3 + 5 s^2 + 2 s + 1a =x1 x2 x3x1 -1.667 -0.3333 -0.1667x2 2 0 0x3 0 1 0b =u1x1 1x2 0x3 0c =x1 x2 x3y1 0.3333 0.3333 0.8333d =u1y1 0Continuous-time model.(2) 传递函数的获得由tf命令实现将系统的状态空间法和零极点增益模型转换为传递函数。
语法:G=tf(状态方程模型) %由状态空间转换G=tf(零极点模型) %由零极点模型转换【例3续】由状态空间描述转换为传递函数。
num=[1 2 5];den=[3 5 2 1];G1=tf(num,den);G=ss(G1);G2=tf(G)Transfer function:0.3333 s^2 + 0.6667 s + 1.667-----------------------------------s^3 + 1.667 s^2 + 0.6667 s + 0.3333(3) 零极点模型的获得由zpk命令实现将状态空间法、传递函数转换为零极点模型。
语法:G=zpk(状态方程模型) %由状态方程模型转换G=zpk(传递函数) %由传递函数转换【例3续】由状态方程模型转换零极点模型。
num=[1 2 5];den=[3 5 2 1];G1=tf(num,den);G=ss(G1) ;G3=zpk(G)Zero/pole/gain:0.33333 (s^2 + 2s + 5)-----------------------------------(s+1.356) (s^2 + 0.3103s + 0.2458)2.模型参数的获取语法:[a,b,c,d]=ssdata(G) %获取状态空间参数[a,b,c,d,e]=dssdata(G) %获取状态空间参数[num,den]=tfdata(G) %获取传递函数参数[z,p,k]=zpkdata(G) %获取零极点参数【例3续】获取各模型的参数num=[1 2 5];den=[3 5 2 1];G1=tf(num,den);G=ss(G1) ;[a,b,c,d]=ssdata(G) %获取状态方程参数a =-1.6667 -0.3333 -0.16672.0000 0 00 1.0000 0b =1c =0.3333 0.3333 0.8333d =2.2.使用各种分析方法分析系统 已知系统的传递函数为2222)1()(nn s n s s T s G ωξωϖ+++= (1) 当1,0,1,4.0,2.0===n T ωξ时在同一窗口脉冲响应曲线>> wn=1;T=0;>> for zeta=[0.2 0.4 1]G=tf(wn^2,[1 2*zeta*wn,wn^2])impulse(G)hold onendTransfer function:1---------------s^2 + 0.4 s + 1Transfer function:1---------------s^2 + 0.8 s + 1Transfer function:1-------------s^2 + 2 s + 1(2)当时,在同一窗口绘制阶跃响应曲线。
>> wn=1;zeta=0.4;figure(1)for T=[0.5 1 2]>> G1=tf(wn^2,[1 2*zeta*wn,wn^2]);G2=tf([T 1],1);G=G1*G2step(G)hold onend从上图可以看出增加零点后系统响应的变化,T越大,零点越小,则阶跃响应的超调量加大,上升时间减小,暂态响应速度加快。