控制系统仿真
- 格式:doc
- 大小:319.00 KB
- 文档页数:12
5.2设222(x,y,z)4y z f x x y z=+++,求函数f 在(0.5,0.5,0.5)附近的最小值。
解:>> fun=inline('x(1)+x(2)^2/(4*x(1))+x(3)^2/x(2)+2/x(3)','x');>> x0=[0.5,0.5,0.5];>> [x fval]=fminsearch(fun,x0)x =0.5000 1.0000 1.0000fval =4.0000→ 函数f 在(0.5,0.5,0.5)附近的最小值为:4.00006.8求方程组1221x y z x y z x y z ++=⎧⎪-+=⎨⎪--=⎩的解。
解:>> A=[1 1 1;1 -1 1;2 -1 -1];>> b=[1;2;1];>> B=[A,b];>> rank(A),rank(B)ans =3ans =3>> X=A\bX =0.6667-0.50000.8333→ 方程组的解为:0.6667x =,=-0.5000y ,=0.8333z6.11求函数3()sin t f t e t -=的拉普拉斯变换。
解:>> syms t;>> ft=exp(-3*t)*sin(t);>> Fs=laplace(ft)Fs =1/((s + 3)^2 + 1)→ 函数3()sin t f t e t -=的拉普拉斯变换为:21(s 3)1++7.11单位负反馈系统的开环传递函数为1000(s)(0.1s 1)(0.001s 1)G s =++ 应用Simulink 仿真系统构建其阶跃响应曲线。
解:模型仿真图 1单位阶跃响应曲线图 1 7.7用S 函数创建二阶系统0.20.40.2(t)y y y u =+=,0y y ==,()u t 为单位阶跃信号,使用Simulink 创建和仿真系统的模型。
《自动控制原理》控制系统的simulink仿真实验一、实验目的1.初步了解Matlab中Simulink的使用方法,熟悉simulink模块的操作和信号线的连接。
2.通过观察典型环节在单位阶跃信号作用下的动态特性,熟悉各种典型环节的响应曲线。
3.定性了解各参数变化对典型环节动态特性的影响。
二、实验仪器Matlab7.0 , 计算机三、实验原理Simulink是MATLAB中的一种可视化仿真工具。
Simulink是一个模块图环境,用于多域仿真以及基于模型的设计。
它支持系统设计、仿真、自动代码生成以及嵌入式系统的连续测试和验证。
四、实验内容及步骤1、建立仿真模型系统1.1 运行Matlab,在命令窗口“Command Window”下键入“Simulink”后回车,则打开相应的系统模型库;或者点击工具栏上的“Simulink”图标,进入系统仿真模型库,然后点击左上角“新文件”图标,打开模型编辑窗口。
1.2 调出模块在系统仿真模型库中,把要求的模块都放置在模型编辑窗口里面。
从信号源模块包(Sources)中拖出1个阶跃信号(step)和1个白噪声信号发生器(band-limited white noise);从数学运算模块包(Math Operations)中拖出1个比例环节(gain)和1个加法器(sum);从连续系统典型环节模块包(Continuous) 中拖出1个微分环(Derivative)和3个传函环节(transfer Fcn);从信号与系统模块包(Signals Routing) 拖出1个汇流排(mux);从输出模块包(Sinks)中拖出1个示波器(scope);所有模块都放置在模型编辑窗口里面。
1.3 模块参数设置(鼠标左键双击各典型环节,则可进行参数设置)双击打开白噪声信号发生器,设定功率(Noise power)为0.0001,采样时间(Sample time)为0.05。
打开比例环节,设定比例增益为2;打开3个传函环节(transfer Fcn),通过参数设定,分别构成积分、惯性和二阶环节。
控制系统的建模与仿真分析I. 概述控制系统是一种可以自动地对一定的输入信号进行响应的系统,它可以对物理系统进行精确的控制,既可以是以电器元件为主体的电气控制系统,也可以是以机械、液压、气动器件为主体的机械控制系统,而控制系统的建模与仿真是控制系统理论研究和实践工程中的重要环节,是传动控制技术的最基本和最关键的方面之一。
II. 控制系统的建模控制系统建模是指将现实世界中的控制系统转换为计算机模型,以便实现对其进行仿真和控制分析,常用的建模方法包括:1. 状态空间法(Space/sate variable approach),是描述动态系统的主要方法,通过建立系统状态方程、输出方程来研究系统的稳态和动态响应特性,确定控制策略。
2. 传递函数法(Transfer function approach),是建立闭环控制系统的主要方法,通过定义系统全过程的输入和输出响应之间的关系,以传递函数G(s) (s为变量)模拟系统的动态响应,确定控制策略。
3. 广义函数法(Laplace transform approach),是用拉普拉斯转换来表示系统的状态和输出量之间的关系,以求得系统的稳态和动态响应特性,常用于求解系统的微分和积分公式,确定控制策略。
III. 控制系统的仿真分析控制系统的仿真分析是指通过计算机处理控制系统的模型,模拟控制系统行为,评价控制系统设计或控制系统算法的预测特性,常用的仿真软件有Simulink、PSIM、Matlab等,主要应用于下列方面:1. 确定系统的响应特性:通过控制系统的仿真分析,可以研究系统的响应特性,包括稳态响应和动态响应,调试控制策略和设计参数,从而优化控制系统性能。
2. 仿真分析系统的失效点:通过仿真分析,寻找控制系统中的潜在故障和失效点,制定应急措施,以保证控制系统的可靠性和稳定性。
3. 仿真分析控制器性能:仿真分析可以对控制器的稳定性、收敛性、响应时间、扰动抑制能力、抗干扰性能等方面进行分析,以提高控制器性能。
如何实现常规过程控制系统仿真常规过程控制系统是现代工业生产中不可或缺的一部分,其作用是监测工业过程,实现自动化控制以提高工业生产效率和质量。
仿真是一种有效的手段来优化控制系统的设计和参数选择,能够减少试错成本。
在本文中,我们将介绍如何实现常规过程控制系统仿真。
1.了解控制系统的原理和构成在开始仿真前,我们需要了解所要仿真的控制系统的原理和构成。
每个控制系统都有其特定的参数和算法,因此必须对控制对象的特性进行深入研究。
我们需要了解控制系统的输入和输出,控制系统的结构,以及控制器的设计和实现。
在仿真过程中,这些信息会被用作输入参数,并且这些信息也会帮助我们了解仿真实验结果的合理性。
2.选择仿真软件和模拟工具运用仿真方法可以大大减少试错的成本,但是选择正确的仿真软件和工具是关键。
市场上有许多可选的仿真工具,有些工具专为控制系统设计而生,如MATLAB、SIMULINK;有些则为通用的物理仿真工具,如ANYSYS或COMSOL Multiphysics。
根据所要仿真的具体需求,我们可以选择适合的工具和软件。
3.建立仿真模型建立仿真模型是仿真过程的一个核心环节,它决定了仿真结果的准确性和实用性。
模型的建立应考虑控制过程需求,包括系统的架构、传感器、控制器、执行器以及物理环境等。
在模型建立之前,我们需画出控制系统的流程图,并对控制系统的整个过程进行详细的分析,然后简化控制流程,确定模型的变量和运算方法,最后建立基于仿真工具的控制系统模型。
4.性能评估和参数调整完成控制系统仿真模型后,还需要评估其性能和参数设置是否合理。
在仿真模型中,我们需通过模拟真实工作场景来评估控制系统的性能。
例如,在控制温度系统的仿真中,我们需要评估系统在不同的环境条件下的响应时间、准确性、稳定性等指标。
如果评估结果不符合预期,我们需要适时地调整控制器的参数以提升系统的性能。
5.优化仿真结果通过性能评估和参数调整,我们可以根据仿真结果优化控制系统设计。
《MATLAB控制系统仿真》PID控制系统校正设计引言1.PID校正装置PID校正装置也称为PID控制器或PID调节器。
这里P,I,D分别表示比例、积分、微分,它是最早发展起来的控制方式之一。
2.PID校正装置的主要优点原理简单,应用方便,参数整定灵活。
适用性强,在不同生产行业或领域都有广泛应用。
鲁棒性强,控制品质对受控对象的变化不太敏感,如受控对象受外界扰动时,无需经常改变控制器的参数或结构。
在科学技术迅速发展的今天,出现了许多新的控制方法,但PID由于其自身的的优点仍然在工业过程控制中得到最广泛的应用。
PID控制系统校正设计1.设计目的1.1 熟悉常规PID控制器的设计方法1.2掌握PID参数的调节规律1.3学习编写程序求系统的动态性能指标2.实验内容2.1在SIMULINK窗口建立方框图结构模型。
2.2设计PID控制器,传递函数模型如下。
()⎪⎭⎫⎝⎛++=s T s T k s G d i p c 112.3修改PID 参数p K 、i T 和d T ,讨论参数对系统的影响。
3.4利用稳定边界法对PID 参数p K 、i T 和d T 校正设计。
2.5根据PID 参数p K 、i T 和d T 对系统的影响,调节PID 参数实现系统的超调量小于10%。
3. 实验操作过程3.1在SIMULINK 窗口建立模型图1 设计模型方框图3.2设计PID 控制器图2 PID控制器模型3.3利用稳定边界法对PID参数p K、i T和d T校正设计: 表1 PID稳定边界参数值校正后的响应曲线图3(a)校正后的响应曲线图3(b)校正后的响应曲线3.4调节PID参数实现系统的超调量小于10%:表2 PID 参数图4 响应曲线图4.规律总结1.P控制规律控制及时但不能消除余差,I控制规律能消除余差但控制不及时且一般不单独使用,D控制规律控制很及时但存在余差且不能单独使用。
2.比例系数越小,过渡过程越平缓,稳态误差越大;反之,过渡过程振荡越激烈,稳态误差越小;若p K过大,则可能导致发散振荡。
控制系统仿真教学大纲控制系统仿真教学大纲控制系统仿真是现代工程领域中一项重要的技术手段,它通过构建数学模型和仿真环境,对实际控制系统进行模拟和分析。
作为一门综合性学科,控制系统仿真在工业自动化、航空航天、能源等领域都有广泛的应用。
为了培养学生的控制系统仿真能力,制定一份科学合理的教学大纲是非常必要的。
一、课程简介本课程主要介绍控制系统仿真的基本概念、原理和方法。
通过理论讲解和实践操作,使学生能够掌握仿真软件的使用技巧,了解仿真模型的建立过程,掌握仿真结果的分析与评估方法,培养学生的问题分析和解决能力。
二、教学目标1. 掌握控制系统仿真的基本概念和原理;2. 熟练使用常见的仿真软件,如MATLAB/Simulink;3. 能够建立控制系统的数学模型,并进行仿真实验;4. 能够分析仿真结果,评估系统性能,并提出改进方案;5. 培养学生的团队合作和创新思维能力。
三、教学内容1. 控制系统仿真概述a. 控制系统仿真的定义和意义b. 控制系统仿真的基本流程和方法c. 常见的仿真软件及其特点介绍2. 数学建模与仿真环境a. 控制系统的数学建模方法b. 仿真环境的选择与搭建c. 仿真模型的参数设置和输入输出分析3. 控制系统仿真实验a. PID控制器的仿真实验b. 系统辨识与模型预测控制的仿真实验c. 状态空间控制的仿真实验4. 仿真结果分析与评估a. 仿真结果的可视化分析方法b. 性能指标的计算与评估c. 仿真结果与实际系统的对比分析5. 仿真实验设计与报告撰写a. 仿真实验设计的基本原则和方法b. 仿真实验报告的撰写要点和格式规范四、教学方法1. 理论讲解:通过课堂讲解,让学生了解控制系统仿真的基本概念和原理。
2. 实验操作:通过实验操作,让学生亲自动手建立仿真模型,进行仿真实验。
3. 课堂讨论:通过课堂讨论,让学生分享仿真结果,互相学习和交流。
4. 课程设计:通过课程设计,让学生能够独立设计控制系统的仿真实验。
1 / 12 《控制系统计算机仿真—课程设计作业》 姓名: 专业: 学号: 1. 构造矩阵
(1)试将.*AB与BA*的结果相加,并找出相加后新矩阵中绝对值大于10的元素。 (2)组合成一个43的矩阵,第一列为按列顺序排列的A矩阵元素,第二列为按列顺序排列的B矩阵元素,第三列为按列顺序排列的C矩 阵元素。 (1)matlab: A=[-7 1;8 -3]; B=[4 2;5 7]; C=[5 9;6 2]; D=A.*B+A*B num=find(abs(D)>10); D(num) 结果:D =
-51 -5 57 -26
ans = -51 57 -26
(2)matlab:NEW=[A(1,:),A(2,:);B(1,:),B(2,:);C(1,:),C(2,:)]’ 结果:NEW =
-7 4 5 1 2 9 8 5 6 -3 7 2
2. 绘制函数曲线,要求写出程序代码 (1)在区间[0,2]均匀的取50个点,构成向量X。 (2)在同一窗口绘制曲线y1=sin(2*t-0.3); y2=3cos(t+0.5);要求y1曲线为红色点划线,标记点为圆圈;y2为蓝色虚线,标记点为星号。 程序代码: t=linspace(0,2*pi,50);
714259,,835762ABC
y1=sin(2*t-0.3); y2=3*cos(t+0.5); plot(t,y1,'r.',t,y2,'b-'); hold on plot(t,y1,'o',t,y2,'*'); hold off
3. 写出生成下图所示波形的MATLAB 程序。图中三个波形均为余弦波,x范围为[pi/2 ~ 7*pi/2] 。要求它的正半波被置零;且在24[,]33和810[,]33处被削顶。
程序:x=linspace(pi/2,7*pi/2,100); y1=cos(x); figure(1) plot(x,y1) y1(find(y1>0))=0; figure(2) plot(x,y1) n=find((x>2*pi/3&x<4*pi/3)|(x>8*pi/3&x<10*pi/3)); y1(n)=cos(2*pi/3); figure(3) plot(x,y1) 4对于x=[-2π,2π],y1=sinx、y2=cosx、y3=sin2x、y4=cos2x ① 用MATLAB语言分四个区域分别绘制的曲线,并且对图形标题及横纵坐标轴进行标注。 ② 另建一个窗口,不分区,用不同颜色、线型绘出四条曲线,并标注图例注解。 Matlab:x=linspace(-2*pi,2*pi,1000);
y1=sin(x); y2=cos(x); y3=sin(2*x); y4=cos(2*x); figure(1) subplot(2,2,1) plot(x,y1) xlabel('ºá×ø±êx=[-2*pi,2*pi]'); ylabel('×Ý×ø±êy=sin(x)') title('y=sin(x)ÔÚ[-2*pi,2*pi]Ö®¼äµÄÇúÏßͼ') 3 / 12
subplot(2,2,2) plot(x,y2) xlabel('ºá×ø±êx=[-2*pi,2*pi]'); ylabel('×Ý×ø±êy=cos(x)') title('y=cos(x)ÔÚ[-2*pi,2*pi]Ö®¼äµÄÇúÏßͼ') subplot(2,2,3); plot(x,y3); xlabel('ºá×ø±êx=[-2*pi,2*pi]'); ylabel('×Ý×ø±êy=sin(2x)') title('y=sin(2x)ÔÚ[-2*pi,2*pi]Ö®¼äµÄÇúÏßͼ') subplot(2,2,4); plot(x,y4); xlabel('ºá×ø±êx=[-2*pi,2*pi]'); ylabel('×Ý×ø±êy=cos(2x)') title('y=cos(2x)ÔÚ[-2*pi,2*pi]Ö®¼äµÄÇúÏßͼ') figure(2) plot(x,y1,'r-',x,y2,'b.',x,y3,'ko',x,y4,'g*') legend('y=sin(x)','y=cos(x)','y=sin(2x£©','y=cos(2x)')
5. 请分析并修改下面的程序,使用矩阵或数组运算的顺序结构完成嵌套for语句的相同功能。 A=[1 2 3; 4 5 6; 7 8 9]; [r c]=size(A); for i=1:1:r for j=1:1:c if (A(i,j)>8 | A(i,j)<2) A(i,j)=0; end end end
修改后的matlab: A=[1 2 3; 4 5 6; 7 8 9]; A(find(A>8|A<2))=0; A
6. 假设a 是这样一组数组:222()(1)(2)(3)anananan,且(1)0,(2)1,(3)2aaa。试分别用循环指令for 以及while 来寻求该数组中第一个大于
10000 的元素。 Matlab:a(1)=0;
a(2)=1; a(3)=2; for i=4:inf a(i)=a(i-1)^2-a(i-2)^2+a(i-3)^2; if a(i)>10000 break end end a(i),i 结果:ans =
871431 i =
8
7. 编写分段函数其他021210)(xxxxxf的函数文件,存放在文件ff.m中,用input语句输入x值,计算)(),2()2-(fff,的值。 x=input('ÇëÊäÈëx='); if x>=0&x<1 f(x)=x; elseif x>=1&x<=2 f(x)=2-x; else f(x)=0; end f(x) 结果: 请输入x=-2 f = 0 > ff.m 请输入x=sqrt(2) f = 0.5858 >> ff.m 请输入x=inf f = 0 8. (2)将上题编程改为M 函数程序文件,该函数文件满足:对于任意输入的正整数n,能够输出对应次数小球反弹的高度。 5 / 12
function ff=f(x)
if nargin==0,x=1;end if x>=0&x<1 f(x)=x; elseif x>=1&x<=2 f(x)=2-x; elseif x<0 disp('ÊäÈë´íÎó'); else f(x)=0; end f(x)
9. 已知两个传递函数分别为:12212(),()313GxGxsss
①在MATLAB中分别用传递函数、零极点、和状态空间法表示; ②在MATLAB中分别求出通过反馈、串联、并联后得到的系统模型; Matlab: sys1=tf([1],[3 1]) ss(sys1) zpk(sys1) sys2=tf([2],[3,1,0]) ss(sys2) zpk(sys2) feedback(sys1,sys2,-1) parallel(sys1,sys2) series(sys1,sys2)
10. 已知系统的方框图如图所示,试推导出从输入信号到输出信号的总系统模型。
Matlab:sys1=tf([1],[1,1]);
sys2=tf([1,0],[1,0,2]); sys3=tf([4,2],[1,2,1]); sys11=feedback(sys1*sys2,sys3,-1); sys4=tf([1],[1,0,0]); sys22=feedback(sys4,50,-1); sys5=tf([1,0,2],[1,0,0,14]); sys=3*feedback(sys11+sys22,sys5,-1) 结果:Transfer function:
6 s^8 + 15 s^7 + 168 s^6 + 417 s^5 + 384 s^4 + 2358 s^3 + 4662 s^2 + 2436 s + 84 ----------------------------------------------------------------------------------- s^10 + 3 s^9 + 55 s^8 + 177 s^7 + 305 s^6 + 1382 s^5 + 2775 s^4 + 3882 s^3
+ 7952 s^2 + 5716 s + 1404
11. 设单位负反馈控制系统的开环传递函数为: 2()(717)KGssss
(1)试绘制K=10,100时闭环系统的阶跃响应曲线,并计算上升时间,超调量和过渡时间; (2)绘制K=1000时闭环系统的阶跃响应曲线,与K=10,100所得的结果相比较,分析增益系数与系统稳定性的关系。
Matlab: K=input('请输入增益系数K='); sys1=tf([K],[1,7,17,0]); sys=feedback(sys1,1); [y,t]=step(sys); plot(t,y) grid [Y,k]=max(y); timeopeak=t(k); c=dcgain(sys); percentovershoot=100*(Y-c)/c%Çó½â³¬¶ÈÁ¿ n=1; while y(n)<0.1*c n=n+1 end m=1; while y(m)<0.9*c m=m+1; end risetime=t(m)-t(n) %Çó½âÉÏÉýʱ¼ä i=length(t); while(y(i)>0.98*c&y(i)<1.02*c) i=i-1; end settingtime=t(i)%Çó½â¹ý¶Éʱ¼ä