2010MATLAB及控制系统仿真_2_matlab_2
控制系统matlab仿真实验报告2
09自动化张家明080312009081控制系统仿真实验报告实验2:MATLAB的数学运算、M文件及外部数据操作班级:09自动化报告人:张家明完成时间:2012-10-221. M文件和函数的创建1)创建一个计算阶乘的函数2)创建一个M文件,并用它调用1)所创建的函数进行阶乘计算3)创建一个能读取外部数据的函数,并建立一个有数据的外部文件,使用该函数读取文件中的数据并求数据之和、平均值。
1).M函数:function result=jc(n)result=1;for i=1:nresult=result*i;endresult2).创建一个M文件,在文件中输入:result=jc(6)运行结果:result =7203).M函数:function [data,average,total]=cal(x1)Fid=fopen(x1,'rt');if Fid==-1disp('file does not exist !')elsedata=fscanf(Fid, '%f',inf);fclose(Fid);dataaverage=mean(data)total=sum(data)end运行结果:>> cal('data.dat')09自动化张家明0803120090811234567891011121314151617181920average =10.5000total =2102. MATLAB的程序设计function result=find_zero(m,n)a=rand(m,n)<0.7result=zeros(m,1);for i=1:mfor j=1:nif ~a(i,j)result(i)=j;break;endendif result(i)==0result(i)=Inf;endendresult运行结果:>> find_zero(3,4)a =0 1 1 11 0 1 11 0 0 0result =1223. 编写函数:判断一个点与三角形的位置关系,能够给出点在三角形内部,在三角形边上,还是在三角形外部的信息。
应用MATLAB控制系统仿真
01
根据系统性能要求,设计比例、积分、微分控制器参数,优化
系统性能。
状态反馈控制器设计
02
通过状态反馈控制器设计,实现系统的最优控制。
鲁棒控制器设计
03
针对不确定性系统,设计鲁棒控制器,提高系统对参数变化的
适应性。
04
控制系统仿真的动态行为,通过建立和求解微 分方程来模拟系统的动态响应。
性能等。
05
Matlab控制系统仿真实 例
一阶系统仿真
总结词:简单模拟
详细描述:一阶系统是最简 单的控制系统,其动态行为 可以用一个一阶微分方程描 述。在Matlab中,可以使用 `tf`函数创建一个一阶传递函 数模型,然后使用`step`函 数进行仿真。
总结词:性能分析
详细描述:通过仿真,可以 观察一阶系统的响应曲线, 包括超调和调节时间等性能 指标。使用Matlab的绘图功 能,可以直观地展示系统的 动态行为。
THANKS FOR WATCHING
感谢您的观看
适用于模拟数字控制系统、采样控制系统等。
实时仿真
01
在实际硬件上实时模拟控制系统的动态行为,通过将
控制算法嵌入到实际控制系统中进行实时仿真。
02
使用Matlab中的`real-time workshop`等工具箱进
行建模和仿真,可以方便地实现实时仿真。
03
适用于模拟实际控制系统、验证控制算法的正确性和
实时仿真
Matlab支持实时仿真,可以在实 际硬件上运行控制算法,进行系 统测试。
02
控制系统数学模型
线性时不变系统
线性时不变系统(LTI)是指系统的输出与输入之间的关系 可以用线性常数来描述的系统。在控制系统中,LTI系统是 最常见的系统类型之一。
MATLAB实验报告3-控制系统仿真
MATLAB 实验报告3 控制系统仿真1、一个传递函数模型: )6()13()5(6)(22++++=s s s s s G 将该传递函数模型输入到MATLAB 工作空间。
num=6*[1,5];den=conv(conv([1,3,1],[1,3,1]),[1,6]);tf(num,den)2、 若反馈系统为更复杂的结构如图所示。
其中2450351024247)(234231+++++++=s s s s s s s s G ,s s s G 510)(2+=,101.01)(+=s s H 则闭环系统的传递函数可以由下面的MATLAB 命令得出:>> G1=tf([1,7,24,24],[1,10,35,50,24]);G2=tf([10,5],[1,0]);H=tf([1],[0.01,1]);G_a=feedback(G1*G2,H)得到结果:Transfer function:0.1 s^5 + 10.75 s^4 + 77.75 s^3 + 278.6 s^2 + 361.2 s + 120 -------------------------------------------------------------------- 0.01 s^6 + 1.1 s^5 + 20.35 s^4 + 110.5 s^3 + 325.2 s^2 + 384 s + 1203、设传递函数为:61166352)(2323++++++=s s s s s s s G 试求该传递函数的部分分式展开num=[2,5,3,6];den=[1,6,11,6];[r,p,k]=residue(num,den)图 复杂反馈系统4、给定单位负反馈系统的开环传递函数为:)7()1(10)(++=s s s s G 试画出伯德图。
利用以下MATLAB 程序,可以直接在屏幕上绘出伯德图如图20。
>> num=10*[1,1];den=[1,7,0];bode(num,den)5、已知三阶系统开环传递函数为:)232(27)(23+++=s s s s G画出系统的奈氏图,求出相应的幅值裕量和相位裕量,并求出闭环单位阶跃响应曲线。
MATLAB与系统仿真实验手册2010
MATLAB与控制系统仿真实验指导书河北大学电子信息工程学院20010年9月目录实验一MATLAB基本操作与基本运算 (1)实验二M文件及数值积分仿真方法设计 (3)实验三MATLAB 的图形绘制 (4)实验四函数文件设计和控制系统模型的描述 (6)实验五控制系统的分析与设计 (7)实验六连续系统离散化仿真方法设计 (8)实验七SIMULINK 仿真 (9)实验八SIMULINK 应用进阶 (10)附录MATLAB常用函数 (12)实验一MATLAB基本操作与基本运算一、实验目的及要求:1.熟悉MATLAB6.5的开发环境;2.掌握MATLAB6.5的一些常用命令;3.掌握矩阵、变量、表达式的输入方法及各种基本运算。
二、实验内容:1.熟悉MATLAB6的开发环境:①MATLAB的各种窗口:命令窗口、命令历史窗口、启动平台窗口、工作空间窗口、当前路径窗口。
图1 MA TLAB界面窗口②路径的设置:建立自己的文件夹,加入到MA TLAB路径中,并保存。
设置当前路径,以方便文件管理。
③改变命令窗口数据的显示格式>> format short>> format long然后键入特殊变量:pi (圆周率),比较显示结果。
2.掌握MATLAB 常用命令>> who %列出工作空间中变量>> whos %列出工作空间中变量,同时包括变量详细信息 >>save test %将工作空间中变量存储到test.mat 文件中 >>load test %从test.mat 文件中读取变量到工作空间中 >>clear %清除工作空间中变量>>help 函数名 %对所选函数的功能、调用格式及相关函数给出说明 >>lookfor %查找具有某种功能的函数但却不知道该函数的准确名称如: lookfor Lyapunov 可列出与Lyapunov 有关的所有函数。
《MATLAB与控制系统仿真》实验报告
《MATLAB与控制系统仿真》实验报告一、实验目的本实验旨在通过MATLAB软件进行控制系统的仿真,并通过仿真结果分析控制系统的性能。
二、实验器材1.计算机2.MATLAB软件三、实验内容1.搭建控制系统模型在MATLAB软件中,通过使用控制系统工具箱,我们可以搭建不同类型的控制系统模型。
本实验中我们选择了一个简单的比例控制系统模型。
2.设定输入信号我们需要为控制系统提供输入信号进行仿真。
在MATLAB中,我们可以使用信号工具箱来产生不同类型的信号。
本实验中,我们选择了一个阶跃信号作为输入信号。
3.运行仿真通过设置模型参数、输入信号以及仿真时间等相关参数后,我们可以运行仿真。
MATLAB会根据系统模型和输入信号产生输出信号,并显示在仿真界面上。
4.分析控制系统性能根据仿真结果,我们可以对控制系统的性能进行分析。
常见的性能指标包括系统的稳态误差、超调量、响应时间等。
四、实验步骤1. 打开MATLAB软件,并在命令窗口中输入“controlSystemDesigner”命令,打开控制系统工具箱。
2.在控制系统工具箱中选择比例控制器模型,并设置相应的增益参数。
3.在信号工具箱中选择阶跃信号,并设置相应的幅值和起始时间。
4.在仿真界面中设置仿真时间,并点击运行按钮,开始仿真。
5.根据仿真结果,分析控制系统的性能指标,并记录下相应的数值,并根据数值进行分析和讨论。
五、实验结果与分析根据运行仿真获得的结果,我们可以得到控制系统的输出信号曲线。
通过观察输出信号的稳态值、超调量、响应时间等性能指标,我们可以对控制系统的性能进行分析和评价。
六、实验总结通过本次实验,我们学习了如何使用MATLAB软件进行控制系统仿真,并提取控制系统的性能指标。
通过实验,我们可以更加直观地理解控制系统的工作原理,为控制系统设计和分析提供了重要的工具和思路。
七、实验心得通过本次实验,我深刻理解了控制系统仿真的重要性和必要性。
MATLAB软件提供了强大的仿真工具和功能,能够帮助我们更好地理解和分析控制系统的性能。
MATLAB与控制系统仿真
用tf( )命令可以建立一个传递函数模型,或将零极点增益模型和 状态空间模型转换为传递函数模型。 tf( )命令调用格式如下: Sys=tf(num,den): 用于生成S传递函数。
传递函数的部分分式展开 传递函数有时需要进行有理分式的分式展开。所谓部分 分式展开,就是将高阶的有理分式化为若干个一阶有理 分式之和的形式。如果传递函数G(s)不包含多重极点, 那么,将G(s)用部分分式展开后即可得到: n r
其中,k是常数项,对于真分式来说 k=0; r是各分式的系数,p是系统的极点。 MATLAB提供了一条函数residue( )可以求解有理分式的 部分分式展开,其基本调用格式为:(R,P,K)=residue(B,A) 其中B和A分别是降幂排列的该有理分式的分子和分母多 项式系数:R是求得的部分分式展开的各分式系数,P是 系统极点,K是常数项。
G1 ( s ) s5 ( s 1)(s 3 )
G2 ( s ) s 2 4s 4 )
系统输入信号为r(t)=sin(t),用Simulink求系统输出响应。
5.3.2 时域响应性能指标求取
调用单位阶跃响应函数step(),可以获得系统的单位阶跃 响应,当采用[y,t]=step(G)的调用格式时,通过对y,t的计 算,可以得到时域性能指标。 1. 峰值时间(timetopeak) [Y,k]=max(y) %求出y的峰值及相应的时间 timetopeak=t(k) %获得峰值时间 2 . 超调量(percentovershoot) C=dcgain(G) %求取系统的终值 [Y,k]=max(y) %求出y的峰值及相应的时间 percentovershoot=100*(Y-C)/C %计算超调量
MATLAB与控制系统仿真
第31页/共52页
传递函数描述
连续系统的传递函数模型
连续系统的传递函数如下:
G(s)
C(s) R(s)
b1s m a1s n
b2 s m1 a2 s n1
... bns ... ans
bm1 an1
(2)“%” 后面所有文字为注释. (3) “...”表示续行.
+ 加法运算,适用于两个数或两个同阶矩阵相加. — 减法运算 * 乘法运算 .* 点乘运算 / 除法运算 ./ 点除运算 ^ 乘幂运算 .^ 点乘幂运算 \ 反斜杠表示左除.
第3页/共52页
3、数学函数
函数 sin(x) cos(x) tan(x) abs(x) min(x) sqrt(x) log(x) sign(x)
end 步长的缺省值是1。步长可以在正实数或负实数范围内任意指定,对 于正数,循环变量的值大于终止值时,循环结束;对于负数,循环变量的 值小于终止值时,循环结束。
第8页/共52页
程序控制语句
while循环的基本格式为: while 表达式 循环体 end
若表达式为真,则执行循环体的内容,执行后再判断表达式是否为真,若 为假则跳出循环体,向下继续执行,否则继续执行循环体。 • break:从循环体中跳出,并使循环结束
• Gzpk=zpk(Gtf) • [zz,pp,kk]=zp kdata(Gzpk ,’v’) • %获得G(s)的零点、极点和增益
• ZPK形式变换为TF形式
• Svv=tf(Sxx) • [nn,dd]=tfdata(Svv,’v’) • %获得分子分母多项式系数
第17页/共52页
《MATLAB及系统仿真》2010年课程简介
《MATLAB及系统仿真》2010年课程简介第一篇:《MATLAB及系统仿真》2010年课程简介课程编号:216317课程名称:MATLAB及系统仿真学分:2学分总学时:32学时其中授课学时:20学时上机学时:12学时先修课程:C语言、线性代数、信号与系统、通信原理开课部门:计算机与通信学院课程内容:本课程要求学生掌握:MATLAB基本语句结构,矩阵的基本运算,控制语句,M文件和M函数的编写与调用,绘图功能,数学函数库的调用,SIMULINK仿真。
通过本课程的学习,学生应能够在MATLAB 环境下解决常见的数学问题和工程问题,并且能利用MATLAB软件对通信系统里的各种调制和解调过程进行仿真分析。
选课对象:通信工程,计算机科学与技术、电子信息技术第二篇:电子信息MATLAB系统仿真与设计电子信息系统仿真与设计课程设计报告设计课题: 油价变化系统的模型姓名:学院: 机电与信息工程学院专业: 电子信息科学与技术班级: 09级 2班学号: 日期 2010-2011第三学期指导教师: 李光明张军蕊山东大学威海分校信息工程学院建模:1背景设某一星期的油价为p,其中n表示年份,它与上一星期的油价、油价升值速率以及新增资源所能满足的个体数目之间的动力学方程由如下的差分方程所描述:从此差分方程中可以看出,此油价变化系统为一非线性离散系统。
如果设油价初始值、油价升值速率、新增资源所能满足的个体数目,要求建立此油价动态变化系统的系统模型,并分析油价在未来100个星期内之间的变化趋势。
2 建立油价变化系统的模型(1)Discrete模块库Unit Delay模块:其主要功能是将输入信号延迟一个采样时间,它是离散系统的差分方程描述以及离散系统仿真的基础。
在仿真时只要设置延迟模块的初始值便可计算系统输出。
(2)Discrete模块库Zero-Order Hold模块:其主要功能是对信号进行零阶保持。
使用Simulink对离散系统进行仿真时,单位延迟是Discrete模块库中的Unit Delay模块来完成的。
控制系统的MATLAB仿真与设计(第2版)全套课件完整版电子教案最新板
1.1 MATLAB 简介
二、MATLAB 平台的组成
➢ Matlab语言 Matlab是一种高级编程语言,它提供了多种数据类型、丰富的运算符 和程序控制语句供用户适用。用户可以根据需求,按照Matlab语言 的约定,编程完成特定的工作。
➢ Matlab集成工作环境
Matlab集成工作环境包括程序编辑器、变量查看 器、系统仿真器和帮助系统等。用户在集成工作环 境中可以完成程序的编辑、运行和调试,输出和打 印程序的运行结果。
1.2 MATLAB的安装和使用
一、MATLAB 的安装
(1)将安装盘放入光驱中,找到setup.exe文件,双击它开始安装(或机 器自动执行安装文件)。
(2)安装过程中,用户按照向导的提示进行操作即可,其中比较重要的输 入和选项包括:
➢ 授权序列号 需要输入软件供应商提供的授权序列号才能继续完成安装工作。
➢ Notetbook工具 Notebook能够使用户在Word环境中使用 MATLAB的各种资源,为用户营造容文字处理、科 学计算、工程设计于一体的完美的工作环境。用 Notebook制作的M-Book文档不仅拥有Word的 全部字处理功能,而且具备MATLAB的数学运算能 力和计算结果可视化的能力。
例如:A=[1 2 3;4 5 6;7 8 9]一条语句实现了对3x3矩阵的输入。
2.数值算法稳定可靠,库函数十分丰富。
Matlab具有强大的数值计算能力,它提供的众多数学
计算的函数调用方便,稳定可靠。
例如:e=eig(A)
%求矩阵A的特征值
[L,U]=lu(A) %求矩阵A的LU分解,
polyder(b)
控制系统的MATLAB 仿真与设计(第2版)
第一章 MATLAB基础
matlab控制系统仿真设计
matlab控制系统仿真设计Matlab控制系统仿真设计控制系统是现代工业领域中的关键技术之一,用于实现对系统行为的预测和调节。
在控制系统设计中,仿真是一个重要的工具,可以帮助工程师和研究人员理解和评估系统的性能。
在本文中,我们将以Matlab的控制系统仿真设计为主题,介绍控制系统仿真的基本概念、方法和工具。
一、控制系统仿真基础1.1 什么是控制系统仿真?控制系统仿真是指通过计算机模拟系统的动态行为来评估和验证控制策略的一种方法。
仿真可以帮助工程师在构建实际系统之前,通过计算机模型对系统的运行过程进行预测和分析。
1.2 为什么要进行控制系统仿真?控制系统仿真可以帮助工程师在实际系统建造之前对系统进行评估和优化。
它可以提供系统的动态响应、稳定性、鲁棒性等信息,帮助工程师优化控制策略和设计参数。
此外,仿真还可以帮助工程师调试和验证控制算法,减少实际系统建造和测试的成本和风险。
1.3 Matlab在控制系统仿真中的作用Matlab是一款功能强大的科学计算软件,也是控制系统仿真的重要工具之一。
Matlab提供了丰富的控制系统设计和分析工具箱,使得控制系统仿真变得更加简单和高效。
二、Matlab控制系统仿真设计的步骤2.1 确定系统模型在进行控制系统仿真设计之前,首先需要确定系统的数学模型。
系统模型可以通过物理原理、实验数据或系统辨识方法得到。
在Matlab中,可以使用符号计算工具箱或数值计算工具箱来建立系统的数学模型。
2.2 设计控制器根据系统模型和性能要求,设计合适的控制器。
常用的控制器设计方法包括PID控制、根轨迹设计、频率响应设计等。
在Matlab中,可以使用Control System Toolbox来设计控制器,并进行性能分析和优化。
2.3 仿真系统响应利用Matlab的仿真工具,对系统进行动态仿真,观察系统的响应。
仿真可以根据预先设定的输入信号和初始条件,计算系统的状态和输出变量随时间的变化。
MATLAB控制系统的仿真
C R
x1 x2
0 1
L
u
L
y [1
0]
x1 x2
[0]u
•
x Ax bu
y CT x du
• 没有良好的计算工具前:系统建立、变换、分析、设 计、绘图等相当复杂。
• MATLAB控制系统软件包以面向对象的数据结构为基 础,提供了大量的控制工程计算、设计库函数,可以 方便地用于控制系统设计、分析和建模。
Transfer function:
s+1 ------------s^2 + 5 s + 6
Matlab与系统仿真
22
应用——系统稳定性判断
系统稳定性判据: 对于连续时间系统,如果闭环极点全部在S平面左半平面,
则系统是稳定的;
若连续时间系统的全部零/极点都位于S左半平面, 则系统是——最小相位系统。
Matlab与系统仿真
38
4.2 动态特性和时域分析函数
(一)动态特性和时域分析函数表 (二)常用函数说明 (三)例子
Matlab与系统仿真
39
(一)动态特性和时域分析函数表 ——与系统的零极点有关的函数
表8.6前部分p263
Matlab与系统仿真
40
——与系统的时域分析有关的函数
Matlab与系统仿真
Matlab与系统仿真
8
4.1 控制工具箱中的LTI对象
Linear Time Invariable
(一)控制系统模型的建立 (二)模型的简单组合 (三)连续系统和采样系统变换(*略)
Matlab与系统仿真
9
(一)控制系统模型的建立
➢ MATLAB规定3种LTI子对象:
• Tf 对象—— 传递函数模型 • zpk 对象—— 零极增益模型 • ss 对象—— 状态空间模型
如何使用Matlab进行控制系统仿真
如何使用Matlab进行控制系统仿真概述控制系统在工程领域中扮演着重要角色,它用于控制和管理各种工程过程和设备。
而控制系统仿真则是设计、开发和测试控制系统的关键环节之一。
Matlab作为一种功能强大的工程计算软件,提供了丰富的工具和功能,可以帮助工程师进行控制系统仿真。
本文将简要介绍如何使用Matlab进行控制系统仿真,以及一些实用的技巧和建议。
1. Matlab的基础知识在开始控制系统仿真之前,有一些Matlab的基础知识是必要的。
首先,了解Matlab的基本语法和命令,熟悉Matlab的工作环境和编辑器。
其次,学会使用Matlab的集成开发环境(IDE)进行编程和数学建模。
熟悉Matlab的常用函数和工具箱,并了解如何在Matlab中导入和导出数据。
2. 定义系统模型在进行控制系统仿真之前,需要定义系统的数学模型。
根据具体情况选择合适的建模方法,如传递函数、状态空间或差分方程等。
在Matlab中,可以使用tf、ss 或zpk等函数来创建系统模型,并指定系统的参数和输入信号。
此外,Matlab还提供了Simulink这一强大的图形化建模环境,方便用户以图形化界面设计系统模型。
3. 设计控制器控制系统仿真的关键是设计合适的控制器,以实现所需的控制目标。
Matlab提供了各种控制器设计方法和工具,如PID控制器、根轨迹法、频域方法等。
用户可以使用Matlab的Control System Toolbox来设计和分析控制器,并在仿真中进行验证。
此外,Matlab还支持自适应控制和模糊控制等高级控制方法,可根据具体需求选择合适的方法。
4. 进行仿真实验在完成系统模型和控制器设计后,可以开始进行控制系统仿真实验。
首先,确定仿真实验的输入信号,如阶跃信号、正弦信号或随机信号等。
然后,使用Matlab中的sim函数将输入信号应用到系统模型中,并观察系统的输出响应。
通过调整控制器参数或设计不同的控制器,分析系统的性能和稳定性,并优化控制器的设计。
《MATLAB与控制系统仿真》实验报告
《MATLAB与控制系统仿真》实验报告实验报告:MATLAB与控制系统仿真引言在现代控制工程领域中,仿真是一种重要的评估和调试工具。
通过仿真技术,可以更加准确地分析和预测控制系统的行为和性能,从而优化系统设计和改进控制策略。
MATLAB是一种强大的数值计算软件,广泛应用于控制系统仿真。
实验目的本实验旨在掌握MATLAB在控制系统仿真中的应用,通过实践了解控制系统的建模与仿真方法,并分析系统的稳定性和性能指标。
实验内容1.建立系统模型首先,根据控制系统的实际情况,建立系统的数学模型。
通常,控制系统可以利用线性方程或差分方程进行建模。
本次实验以一个二阶控制系统为例,其传递函数为:G(s) = K / [s^2 + 2ζω_ns + ω_n^2],其中,K表示放大比例,ζ表示阻尼比,ω_n表示自然频率。
2.进行系统仿真利用MATLAB软件,通过编写代码实现控制系统的仿真。
可以利用MATLAB提供的函数来定义传递函数,并通过调整参数来模拟不同的系统行为。
例如,可以利用step函数绘制控制系统的阶跃响应图像,或利用impulse函数绘制脉冲响应图像。
3.分析系统的稳定性与性能在仿真过程中,可以通过调整控制系统的参数来分析系统的稳定性和性能。
例如,可以改变放大比例K来观察系统的超调量和调整时间的变化。
通过观察控制系统的响应曲线,可以判断系统的稳定性,并计算出性能指标,如超调量、调整时间和稳态误差等。
实验结果与分析通过MATLAB的仿真,我们得到了控制系统的阶跃响应图像和脉冲响应图像。
通过观察阶跃响应曲线,我们可以得到控制系统的超调量和调整时间。
通过改变放大比例K的值,我们可以观察到超调量的变化趋势。
同时,通过观察脉冲响应曲线,我们还可以得到控制系统的稳态误差,并判断系统的稳定性。
根据实验结果分析,我们可以得出以下结论:1.控制系统的超调量随着放大比例K的增大而增大,但当K超过一定值后,超调量开始减小。
2.控制系统的调整时间随着放大比例K的增大而减小,即系统的响应速度加快。
控制系统MATLAB仿真与应用课程设计 (2)
控制系统MATLAB仿真与应用课程设计一、课程设计背景控制系统在现代工业中发挥着至关重要的作用,尤其是在制造业和航空航天等领域中,控制系统是保证工业自动化和安全性的重要手段。
因此,掌握控制系统理论和工具的应用成为了工程类学生必备的技能之一。
MATLAB是一款用于科学计算和数据可视化的强大工具,在控制系统仿真和设计中具有广泛的应用。
本课程设计旨在通过MATLAB的应用,帮助学生深入理解控制系统的原理以及如何进行仿真和调试。
二、课程设计任务1. 设计要求本课程设计要求学生能够掌握MATLAB在控制系统仿真和设计中的应用,具体要求如下:1.学生需选择一个控制系统,进行仿真设计。
2.学生需掌握MATLAB图形界面设计方式和仿真工具箱使用。
3.学生需设计控制器并进行仿真调试。
4.学生需记录仿真数据并分析仿真结果。
2. 设计步骤本课程设计的设计步骤如下:1.设计控制系统模型–系统建模2.设计控制器并进行仿真调试–控制器设计–仿真调试3.记录仿真数据并进行结果分析–仿真结果导出–结果分析三、MATLAB应用实例1. 实例背景某生产线上有一台温度控制器,其目标是控制加热元件输出功率,使得温度保持在给定范围内。
因需求设计一个PID控制器。
2. 实例步骤以下为实例步骤:1.建立控制系统模型–根据温控器特性建立传递函数:$$ G(s)=\\frac{1}{(s+1)} $$2.设计PID控制器–设计传统PID控制器:$$ K_p=1.2,\\quad K_i=1.2,\\quad K_d=0.5 $$3.进行仿真调试–选择仿真时间为50秒,步长设置为0.1秒4.记录仿真数据并进行结果分析3. 记录仿真数据设计完成后,使用MATLAB仿真工具箱进行控制器测试和调试,记录测试结果,例如温度的变化曲线等。
具体操作步骤如下:1.设置仿真参数,包括仿真时间、控制器类型等。
2.运行仿真程序,得到仿真数据。
3.将仿真结果可视化,例如绘制仿真结果的图表。
控制系统的MATLAB计算及仿真
控制系统的MATLAB计算及仿真控制系统是一种用来实现对物理系统或工程系统进行控制的方法和工具。
MATLAB是一种强大的计算机软件包,能够方便地进行控制系统的计算和仿真。
本文将介绍MATLAB在控制系统中的应用,并以一个简单的例子来说明如何用MATLAB进行控制系统的计算和仿真。
首先,我们需要打开MATLAB软件并创建一个新的脚本文件。
在脚本文件中,我们可以使用MATLAB提供的函数来定义控制系统的传递函数和状态空间模型。
例如,我们可以使用tf函数来定义一个传递函数模型。
传递函数是描述系统输入与输出之间关系的一种数学模型。
以下是一个例子:```MATLABs = tf('s');G=1/(s^2+2*s+1);```这个传递函数模型表示一个具有二阶惯性的系统。
我们可以使用step函数来绘制系统的阶跃响应曲线:```MATLABstep(G);```通过运行脚本文件,我们可以得到系统的阶跃响应曲线。
此外,MATLAB还提供了许多其他的函数和命令来计算和仿真控制系统。
另外,我们还可以使用stateSpace函数来定义一个状态空间模型。
状态空间模型是控制系统中另一种常用的数学模型。
以下是一个例子:```MATLABA=[01;-1-1];B=[0;1];C=[10];D=0;sys = ss(A, B, C, D);```这个状态空间模型描述了一个二阶系统的状态方程和输出方程。
我们可以使用step函数来绘制系统的阶跃响应曲线:```MATLABstep(sys);```通过运行脚本文件,我们可以得到系统的阶跃响应曲线。
除了step函数外,MATLAB还提供了许多其他的函数和命令来计算和仿真状态空间模型。
在控制系统中,还常常需要对系统进行参数调节和性能优化。
MATLAB提供了一系列的控制系统工具箱,用于进行控制系统的分析和设计。
例如,Control System Toolbox提供了用于线性系统分析和设计的工具。
控制系统的MATLAB仿真课件(99页)
x1 1 x2 0 x3 0 x4 0 c=
x1 x2 x3 x4 y1 6 12 6 10 d=
u1 y1 0 Continuous-time model.
19
第7章
控制系统的MATLAB仿真
由以上数据可写出系统的状态空间模型为:
?
?? 2 ? 3 ? 1 ? 1?
?1?
? ??X?(t)?
series()函数命令还可以将多个环节按两两串联的形式多 次递归调用加以连接,进行等效化简。
sys= series(sysl,sys2命) 令可以用命令 sys=sys1*sys2* …*sysn取代,不仅省掉“series(”)字符,且 可以实现多个环节的串联等效传递函数的求取。
23
第7章
控制系统的MATLAB仿真
形式之一。控制系统的环节串联及其化简就是模块方框图模 型的串联及其化简。可以用MATLAB 的函数命令series(将) 串 联模块进行等效变换。
使用series(函) 数命令不必做多项式的乘除运算即可实现 两个环节传递函数的串联连接。如果令sys1= tf(num1,den1) , sys2= tf(num2,den2) ,其命令格式为: sys= series(sysl,sys2)
zp2tf
将系统零极点增益模型转换为传递函数模型
15
第7章
控制系统的MATLAB仿真
【例7.2】 已知某系统的传递函数为: G (s)? 12s3 ? 24s2 ? 12s ? 20 2s4 ? 4s3 ? 6s2 ? 2s ? 2
试用MATLAB 语言求出该系统的传递函数模型、状态空 间模型和零极点增益模型。
22
第7章
控制系统的MATLAB仿真
控制系统仿真与工具(matlab)实验指导书精选全文
可编辑修改精选全文完整版控制系统仿真与工具实验指导书目录实验一熟悉MATLAB语言工作环境和特点 (1)实验二图形绘制与修饰 (4)实验三系统的时间响应分析 (8)实验四系统的时间响应分析 (12)实验五SIMULINK仿真基础 (14)实验一熟悉MATLAB语言工作环境和特点一、实验目的通过实验使学生熟悉MA TLAB语言的工作环境,并了解MATLAB语言的特点,掌握其基本语法。
二、实验设备PC机MATLAB应用软件三、实验内容本实验从入门开始,使学生熟悉MA TLAB的工作环境,包括命令窗、图形窗和文字编辑器、工作空间的使用等。
1、命令窗(1)数据的输入打开MATLAB后进入的是MA TLAB的命令窗,命令窗是用户与MATLAB做人机对话的主要环境。
其操作提示符为“》”。
在此提示下可输入各种命令并显示出相应的结果,如键入:x1=sqrt(5),x2=1.35,y=3/x2显示结果为:x1=2.2361x2=1.3500y=2.2222上命令行中两式之间用逗号表示显示结果,若用分号,则只运行而不用显示运行结果。
如键入A=[1,2,3;4,5,6;7,8,9],则显示为说明:●直接输入矩阵时,矩阵元素用空格或逗号分隔,矩阵行用分号相隔,整个矩阵放在方括号中。
注意:标点符号一定要在英文状态下输入。
●在MA TLAB中,不必事先对矩阵维数做任何说明,存储时自动配置。
●指令执行后,A被保存在工作空间中,以备后用。
除非用户用clear指令清除它,或对它重新赋值。
●MATLAB对大小写敏感。
(2)数据的显示在MA TLAB工作空间中显示数值结果时,遵循一定的规则,在缺省的情况下,当结果是整数,MATLAB将它作为整数显示;当结果是实数,MATLAB以小数点后4位的精度近似显示。
如果结果中的有效数字超出了这一范围,MATLAB以类似于计算器的计算方法来显示结果。
也可通过键入适当的MA TLAB命令来选择数值格式来取代缺省格式。
Matlab控制系统仿真(2)
二. 线性系统分析2.1 连续线性系统的稳定性分析在系统特性的研究中,控制系统的稳定性是最重要的指标,如果控制系统稳定,则可以进一步分析系统的其它性能,如果系统不稳定,系统在实际中不能应用。
本实验主要介绍系统稳定性的判定方法。
由控制理论可知,系统的稳定性和系统的极点位置相关。
如果系统的极点全部落在左半S 平面,系统是稳定的,如果存在右半S 平面的极点,系统不稳定。
在控制论的发展早期,由于没有直接可以应用的计算机软件求取高阶多项式的特征根,所以无法利用求根的方法来直接判定系统的稳定性,出现了多种间接方法,如:劳斯判据,胡尔维兹判据等。
在Matlab 环境下,直接获得系统特征根很简单,所以可以直接求出特征根位置判断系统的稳定性。
在Matlab 控制系统工具箱中,求取一个连续线性定常系统特征根可以利用函数eig(G)实现。
不论系统的模型G 是传递函数、状态方程还是零极点模型,也不管系统是连续的还是离散的都可以利用函数eig(G)求取特征根。
另外,上个实验中介绍的pzmap(G)函数能用图形的方式绘制系统所有特征根在S 平面的位置,所以判定连续系统是否稳定只需要看一下系统的所有极点是否都位于S 平面虚轴左侧即可;而离散系统只需要看一下系统的所有极点是否都位于单位圆内即可,不需要采用复杂的间接法去判定系统的稳定性。
Eg2.1假设有高阶系统的传递函数4032010958411812467284224494536546364032018576022208812266436380598251418)(2345678234567+++++++++++++++=s s s s s s s s s s s s s s s s G ,利用下面的语句就可以将该系统的模型输入Matlab 环境,并求出其极点:(在命令窗口执行)>> num=[18 514 5982 36380 40230];>> den=[1,36,546,4536,22449,67284,,,40230];>> G=tf(num,den); %输入系统的传递函数模型定义>> eig(G)' %显示系统的极点,为节省版面,显示其转置结果为:ans =Columns 1 through 5-8.0171 -6.8359 -6.3383 -4.5000 - 0.4536i -4.5000 + 0.4536i Columns 6 through 8-2.6617 -2.1641 -0.9829可见,系统所有的特征根都具有负实部,所以系统是稳定的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主讲教师:姜萍
1.2.2 MATLAB基本设计
1、变量
变量在使用前不需定义维数和大小。
命名规则:以字母打头、不含标点符号、最多不超过 19个字符,区分字母的大小写,如X1、 x1、 a、 A 等。另外要避免使用特殊变量。 变量可按需要定义成全局变量和局部变量:
• 典型 M函数文件的结构如下 :
函数申明行:位于函数文件的首行,以关键字 function 开头,函数名以及函数的输入输出变量都在 这一行被定义。 笫一注释行:紧随函数申明行之后以%开头笫一注释行。 该行供lookfor关键词查询和 help在线帮助使用 在线帮助文本区 :笫一注释行及其之后的连续以%开 头的所有注释行构成整个在线帮助文本。 编写和修改记录:与在线帮助文本区相隔一个“空”行, 也以%开头,标志编写及修改该M文件的作者日期等 。 函数体:为清晰起见,与前面的注释以“空”行相隔。 例:函数myguass.m 调用testguass.m
函数文件中定义的变量为局部变量,在函数内有效。
全局变量的定义: global 变量名
避免使用特殊变量:
特殊变量 取值 NaN 不定量 如0/0
ans
pi eps flops inf
结果的缺省变量名
圆周率 计算机的最小数 浮点运算数 无穷大 如1/0
ij
nargin
基本虚数单位
函数的输入变量数目
nargout 函数的输出变量数目 realmin 最小的可用正实数
矩阵块操作
可进行元素更改、插入子块、提取子块、重排子块、 扩大子块等。
冒号“:”的应用:代表全部
冒号“:”在列标位置:代表全部的列 冒号“:”在行标位置:代表全部的行
2、矩阵运算
1)矩阵与标量的运算 矩阵与标量进行+ - 和乘方运算时,是完 成矩阵的每个元素对标量的运算。 如a=[1 2 3;4 5 6] , 要运算a1=a+2, a2=a-2, a3=a*2 , a4=a/2 ; 矩阵乘方时要求矩阵为方阵,如b=[2 4;1 5], b1=b^2 %求平方b*b b2=b^(-1) %求b的逆矩阵 b3=b^(0.2) %对b开5次方 p18.m
3、常用特殊矩阵和矩阵函数
常用矩阵函数
命令 d=eig(A) 矩阵特征值 说明
[v,d]=eig(A) 矩阵特征值和特征向量
det(A)
inv(A) poly(A) trace(A) rank(A) orth(A)
行列式计算
求逆 特征多项式 对角元素之和 矩阵的秩 正交化
常用特殊矩阵
命令 A=[ ] 空矩阵 N维单位矩阵 全部元素都为1的矩阵 全部元素都为0的矩阵 元素为0到1之间均匀分布的随机矩阵 元素为零均值单位方差正态分布的随机矩阵 说明
format 命令方式
注意:format 命令仅仅只能改变数据的显示 格式,MATLAB的数值计算都采用双精度浮点 运算。
3、 常用标点符号
,和 ;可用于隔开放在一行中的多条命令,或 者命令的末尾,注意区别: 逗号,显示运行结果 分号;不显示运行的结果 … 如果一行中无法写下一个完整命令,可在行 尾加入三个连续的点,表示命令余下的部分在下 一行出现。 百分号%之后的所有文字为注释,注释为单行型。
五.不多时,可由FileSave Workspace As保存 工作空间当前所有变量(保存为***.mat)。类似地, 由File Import Data 可装载数据。 2、save、load命令:以二进制格式保存和读入 save 将工作空间所有变量以二进制格式存入matlab.mat save filename 将所有变量以二进制格式存入filename.mat save filename x y z 将变量x y z以二进制格式存入
MATLAB的关系操作符可以用来比较两个大小相同的数组, 或者比较一个数组和一个标量。在与标量比较时,结果和数组大 小一样。 例p38
2) 逻辑操作符:定义按照“与”、“或”、“非”的关系表达
式
&(与) |(或) ~(非) 3) NaN、Inf和空矩阵 例p40 NaN(Not a Number)表示: 0/0 或 Inf-Inf Inf表示: 1/0或计算中的数值上溢产生的
function g=myguass(a)
%The Solution of Linear Systems AX=B by Guassian Elimination %input a=[A|B] is augmented matrix %output g=x is the result %It was edited in Mar 20,2002 and modified in May 3,2003 by JP
基本的数据类型:
数据类型 举例 说明
double
char sparse cell struct uint8
[1 2;3 4]
‘hello’ speye(5) {17‘hello’eye(2)} a.day=12; a.color=‘red’; Uint8(magic(3))
双精度数值类型,最常用
字符数组,每字符16位 双精度稀疏矩阵,只存非0元素 细胞数组,元素可为不同类型、 维数
②函数文件
用于把重复的程序段封装起来,完成复杂 任务,可以输入输出参数,输入输出变量可以 是标量、数组、矩阵或字符串,也可以没有输 入输出参数。
函数文件的笫一行总是以 “function”引导的 “函数申明行”。基本格式: function [y1,y2,…]=myfunc(x1,x2,…)
关键字
filename .mat
save filename x y z –ascii 以8位ASCII代替二进制格式 与save相对应,可用load命令加载数据。 3、低级文件输入输出命令 常用基本命令 例inout.m
%inout.m
f1=fopen('test.txt','r') p=fscanf(f1,'%c') f2=fopen('C:\Documents and Settings\Administrator\桌 面\教学\simulation\程序 \chapter1\name1.m','w'); fprintf(f2,'%s15\n,%9.5f\n,%9. 5f\n,%4(3.5f)\n',p); fclose('all');
n=length(a)
for i=2:1:(n-1) %消元过程 for k=i:1:(n-1) m=a(k,i-1)/a(i-1,i-1); for j=1:1:n a(k,j)=a(k,j)-a(i-1,j)*m; end end end
%回代过程 for i=n-1:-1:1 f=0; for j=i+1:n-1 f=f+a(i,j)*x(j); end x(i)=(a(i,n)-f)/a(i,i); end g=x;
4、简单数学运算
MATLAB可以象计算器一样进行一些简单 的数学运算,如可直接输入16*12.2+25*1.82 计 算。常用运算符有: MATLAB支持常用的基本数学函数,要注 意只对弧度操作,如sin(30*pi/180)=0.5。 复数运算不需要特殊处理,用i、j和sqt(-x)表 示,运算时与实数运算形式相同。还可以用 real、imag、abs、angle命令来表示一个复数 的实部、虚部、幅值和相角。
A=eye( n ) A=ones(n,m) A=zeros(n,m) A=rand(n,m) A=randn(n,m)
1.2.4 MATLAB程序设计
MATLAB被成为第四代编程语言,具有极高的编 程效率,而且简单易学。 一、M文件 分成命令文件和函数文件两种: ①命令文件 用于把需在命令窗口执行的命令放在一起便于修 改,无输入参数也无输出参数,比函数文件简单。 命令文件可对工作空间的变量进行操作,而且运行 后 ,所产生的所有变量都驻留在工作空间,可被其它 M文件或 SIMULINK直接引用,直到关闭MATLAB或 使用清除指令clear。
四. 字符运算
可定义一串文字并进行字符串的处理与运算。字符 串是ASCII码的数值数组,每个字符占用2个字节存储。 定义格式:用单引号括起来‘ ’ x=‘Matlab is a software’ 字符串的转换 MATLAB定义一些字符串转换函数 例p41.m 字符串运算函数 eval命令是执行字符串的功能,可以执行一些操作 命令,运行已有的M函数,计算并赋值给其它变量。 例p43.m
(3)矩阵除法运算 有左除和右除两种: 左除: A\B=A-1B,A为方阵(X=A\B是A*X=B的解) 右除: A/B=AB-1,B为方阵(X=A/B是X*B=A的解) 通常A\B≠A/B p20.m
(4).矩阵点运算
矩阵有* \ / ^,向量有 .* .\ ./ .^。但矩阵也可用 点运算,是矩阵对应元素之间的直接运算(element by element)。点乘、点除要求矩阵的维数相同。 P21.m
全局变量 应在工作 空间和M 函数中都 要同时定 义。
testguass.m %命令文件调用myguass.m函数文件 a=[1 2 3;3 4 8] x=myguass(a)
二.程序结构和控制语句(主要是三种结构):
1、顺序结构 2、循环结构: 固定次数的for和不定次数的while
for 循环变量=数组范围 命令串 end myfor.m while 条件表达式 命令串 end mywhile.m
realmax 最大的可用正实数
2、 数据
MATLAB有多种数据类型。 MATLAB的数值计算都采用双精度浮点运算, 指定精度运算需用符号工具箱处理。在数值计算 中只能改变数值的显示格式。