MATLAB控制系统各种仿真例题(包括simulink解法)
MATLAB与控制系统仿真练习题及答案 (2)

MATLAB与控制系统仿真练习题1、在同一坐标系内,画出一条正弦曲线和一条余弦曲线,要求正弦曲线用红色实线、数据点用“+”号显示;余弦曲线用黑色点线、数据点用“*”显示。
x=0:1 /10:2*pi;y=sin(x);plot(x,y,'r--+')hold ont=cos(x);plot(x,t,'k-.*')>>2、绘制单位圆。
a=0:1/10:2*pi;x=cos(a);y=sin(a);plot(x,y)axis squaregrid on3、使用极坐标函数绘制)3/ρ=的曲线。
8θsin10(t=0:0.01:2*pi;>> y=8*sin((10*t)/3);>> polar(t,y)4、绘制方程⎪⎩⎪⎨⎧===)cos()sin(t z t y t x 在[]π20,=t 区间的三维曲线。
t=0:pi/50:2*pi;x=t;y=sin(t);z=cos(t);plot3(x,y,z)5、用不同的线型和颜色在同一坐标内绘制曲线x 5.0e 21y -=、)2sin(2y x π=的图形。
x=0:1/10:10;y1=2*exp(-0.5*x);y2=sin(2*pi*x);plot(x,y1,'r');>> hold onplot(x,y2,'b')6、绘制二维正态分布密度函数)(212221),(y x e y x f +-=π的三维图形。
syms x yz=(1/(2*pi))*exp(-0.5*(x.^2+y.^2));ezsurf(x,y,z)7、选择合适的步长绘制下列函数的图形。
(1)x y cos =,⎥⎦⎤⎢⎣⎡-∈2,2ππx (2)x xe y = x=-2/pi:1/20:2/pi; >> y=sqrt(cos(x)); >> plot(x,y)>> hold on>> y=x.*exp(x);>> plot(x,y)>>8、在同一坐标下绘制函数x 、2x 、3x -、)sin(x x 在()π,0的曲线。
matlab的simulink仿真建模举例 -回复

matlab的simulink仿真建模举例-回复Matlab的Simulink仿真建模举例Simulink是Matlab附带的一款强大的仿真建模工具,它能够帮助工程师们通过可视化的方式建立和调试动态系统模型。
Simulink通过简化传统的数学模型建立过程,使得工程师们能够更加直观地理解和分析复杂的系统。
在本文中,我们将介绍一个关于电机控制系统的Simulink仿真建模的例子。
一、了解电机控制系统在开始建模之前,我们首先需要了解电机控制系统的基本原理。
电机控制系统通常包括输入、电机和输出三个主要部分。
输入通常是来自于传感器或用户的命令信号,例如转速、位置或力矩。
电机是通过接受输入信号并根据特定的控制算法生成输出信号。
输出信号通常是电机的转速、位置或功率等。
控制算法通常采用比例-积分-微分(PID)控制或者其他控制算法。
二、建立Simulink模型1. 创建新的Simulink模型在Matlab主界面中,选择Simulink选项卡下的“New Model”创建一个新的Simulink模型。
2. 添加输入信号在Simulink模型中,我们首先需要添加输入信号模块。
在Simulink库浏览器中选择“Sources”类别,在右侧面板中找到“Step”模块,并将其拖放到模型中。
3. 添加电机模型接下来,我们需要将电机模型添加到Simulink模型中。
Simulink库浏览器中选择“Simscape”类别,在右侧面板中找到“Simscape Electrical”子类别,然后找到“Simscape模型”模块,并将其拖放到模型中。
4. 连接输入信号和电机模型将输入信号模块的输出端口与电机模型的输入端口相连,以建立输入信号与电机模型之间的连接。
5. 添加输出信号模块在Simulink模型中,我们还需要添加输出信号模块。
在Simulink库浏览器中选择“Sinks”类别,在右侧面板中找到“Scope”模块,并将其拖放到模型中。
matlab的控制系统仿真上机习题

1.已知系统结构图如下图所示。
试建立Simulink 仿真模型,并确定K 值,使阻尼系数ζ=0.5,画出此时系统的单位阶跃响应曲线并求出动态性能指标(超调量、上升时间、调节时间和峰值时间)。
-R(s)C(s)K8.016s -s1syms s G1 G2 H1 H2 phi1 phi K;G1=16/(s+0.8); H1=K; phi1=G1/(1+G1*H1); G2=phi1*1/s;H2=1; phi=factor(G2/(1+G2*H2)) wn=sqrt(16);zeta=0.5; k=(2*zeta*wn-0.8)/16 zeta=0.5;wn=4;beta=acos (zeta); tr=(pi-beta)/(wn*sqrt(1-(zeta)^2)) tp=pi/(wn*sqrt(1-(zeta)^2))ts=3/(zeta*wn)sigma=exp(-pi*zeta/(1-(zeta)^2)^(1/2))--2. 试画出如图所示系统的零极点图,并确定系统的稳定性。
-C(s)4s()11.0302+s s -50R(s)syms s G1 G2 H1 H2 phi1 phi;G1=30/(0.1*s^3+s^2);H1=4*s; phi1=G1/(1+G1*H1);G2=50;H2=1;phi=factor(G2*phi1/(1+G2*phi1*H2))phi =15000/(s^3+10*s^2+1200*s+15000) closys=tf(15000,[1,10,1200,15000]);pzmap(closys)3.已知某系统开环传递函数为:()()()15.012102+++=sssssG,试用Bode图法判断闭环系统的稳定性,并用阶跃响应曲线加以验证;求出相位裕量和幅值裕量。
num=10;den=(conv(conv([1,0],[2,1]),[1,0.5,1]));sys=tf(num,den);subplot(1,2,1);bode(sys);grid onsubplot(1,2,2);step(sys);grid onsubplot(1,1,1);margin(sys); [wn,pm,wg,wc]=margin(sys)-140-120-100-80-60-40-200204060M a g n i t u d e (d B )10-210-110101102-360-315-270-225-180-135-90P h a s e (d e g )Bode DiagramGm = -22.5 dB (at 0.707 rad/sec) , P m = -136 deg (at 1.62 rad/sec)Frequency (rad/sec)wn =0.0750 pm =-136.3866 wg =0.7067 wc =1.62104.已知某系统开环传递函数为:()122+++=ssssG,试用Nyquist稳定判据判断闭环系统的稳定性,并用阶跃响应曲线加以验证。
控制系统matlab仿真设计题目

计算机学院自动化控制系统仿真实验题目1. 设计一个PID 调节器,对1025)(2++=s s G s 实行调节,通过仿真分析出最佳调节参数。
写出仿真步骤、过程、中间结果及结果分析。
2. 利用最小二乘递推算法,辨识系统参数,要求利用matlab 编程实现,假设初始参数都为0,I p 610)0(=,I 为单位阵。
)(k u 为(0,1)均匀分布的随机变量,)(k v 为(0,1)分布的白噪声,采样100次)()2(5.0)1(0.1)2(7.0)1(5.1)(k v k u k u k z k z k z +-+-=-+--3. 求解解微分方程 1)0(2'=-=y y x y y要求利用matlab 编写S 函数求解4. 利用Matlab 编写M 文件实现控制系统仿真,要求1)输入传递函数,状态方程能够实现阶跃响应,2)能够绘制系统的bode 图,nquist 曲线图和根轨迹。
5. 已知控制系统传递函数)102.0)(12.0(20)(++=s s s s G ,性能指标要求 1) 超调量%40≤σ,2)过度时间s t S 1≤,3)70≥v K ,设计一个串联滞后校正环节,满足以上性能指标,手工计算出校正环节传递函数,利用Matlab 语言对系统进行仿真设计出结果,利用simulink 进行仿真出结果(以单位阶跃响应为输入)。
6. 已知单位负反馈系统的开环传递函数)12.0)(1()(2.0++=-s s s Ke s G s,性能指标要求 1) 静态误差系数1=v K ,2)045≥γ, 在前向通道中插入一相位超前校正,确定校正系统传函,利用matlab 画出未校正和校正系统的根轨迹,编程实现校正前后系统的阶跃响应,计算系统性能指标。
7. 单位负反馈系统的开环传递函数)12.0)(11.0()(0++=s s s K s G ,用相应的频率校正法对系统进行校正设计,使系统的性能指标达到:1)相角余度060≥γ,2)在单位斜坡下的稳态误差05.0<SS e ,3)系统的s rad C /3<ω。
控制系统数字仿真模拟题

控制系统数字仿真模拟题在控制系统数字仿真模拟中,我们将通过几个案例来展示数字仿真在控制系统设计和分析中的重要性和应用。
案例一:PID控制器调节系统在这个案例中,我们将模拟一个PID控制器调节系统。
首先,我们需要建立一个被控对象的数学模型,可以是一阶或二阶系统。
然后,我们根据实际的控制需求来确定PID控制器的参数。
接下来,我们使用数字仿真软件,比如MATLAB/Simulink来搭建系统模型,将被控对象和PID控制器连接起来并进行仿真。
通过改变PID参数的值,我们可以观察系统响应的变化并优化控制性能。
案例二:状态空间控制系统在这个案例中,我们将研究状态空间控制系统的数字仿真。
状态空间方法是一种描述系统动态特性的有效工具。
我们首先需要得到系统的状态空间表示,包括状态方程和输出方程。
然后,我们使用数字仿真软件来模拟系统的时间响应和频率响应。
通过改变初始状态和控制输入信号,我们可以观察系统的状态变化和输出响应。
通过数字仿真,我们可以更好地理解状态空间控制系统的特性和优化控制策略。
案例三:数字滤波器设计数字滤波器在控制系统中扮演着重要的角色。
在这个案例中,我们将研究数字滤波器的设计和性能评估。
首先,我们需要确定滤波器的类型,如低通滤波器、高通滤波器或带通滤波器。
然后,我们可以使用数字仿真软件来设计和仿真滤波器的频率响应和时域响应。
通过改变滤波器的参数,我们可以优化滤波器的性能和滤波效果。
通过上述案例,我们可以看到数字仿真在控制系统设计和分析中的重要性和灵活性。
它可以帮助工程师在设计前进行系统验证和仿真调试,避免了实际搭建系统的成本和风险。
数字仿真还可以快速优化控制策略和参数,提高系统的性能和鲁棒性。
因此,掌握数字仿真工具和方法对于控制系统工程师来说至关重要。
总结起来,数字仿真在控制系统设计和分析中具有重要的作用。
通过合理利用数字仿真软件和工具,工程师可以更好地理解系统的特性和优化控制策略。
数字仿真可以帮助工程师提高工作效率,节省成本,并减少了实际试验的风险。
《MATLABSimulink与控制系统仿真(第版)》的Simulink仿真详解18页PPT

•
29、在一切能够接受法律支配的人类 的状态 中,哪 里没有 法律, 那里就 没有自 由。— —洛克
•
30、风俗可以造就法律,也可以废除 法律。 ——塞·约翰逊
1、最灵繁的人也看不见自己的背脊。——非洲 2、最困难的事情就是认识自己。——希腊 3、有勇气承担命运这才是英雄好汉。——黑塞 4、与肝胆人共事,无字句处读书。——周恩来 5、阅读使人充实,会谈使人敏捷,写作使人精确。——培根
《MATLAB仿真详解 26、我们像鹰一样,生来就是自由的,但是为了生存,我们不得不为自己编织一个笼子,然后把自己关在里面。——博莱索
•
27、法律如果不讲道理,即使延续时 间再长 ,也还 是没有 制约力 的。— —爱·科 克
•
28、好法律是由坏风俗创造出来的。 ——马 克罗维 乌斯
MATLAB控制系统各种仿真例题(包括simulink解法)

一、 控制系统的模型与转换1. 请将下面的传递函数模型输入到matlab 环境。
]52)1)[(2(24)(32233++++++=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));GTransfer 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.992. 请将下面的零极点模型输入到matlab 环境。
请求出上述模型的零极点,并绘制其位置。
)1)(6)(5()1)(1(8)(22+++-+++=s s s s j s j s s G )2.8()6.2)(2.3()(1511-++=----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)>> z=[0 0 0 0 0 -1/3.2 -1/2.6];p=[1/8.2];H=zpk(z,p,1,'Ts',0.05)Zero/pole/gain:z^5 (z+0.3125) (z+0.3846)-------------------------(z-0.122)Sampling time: 0.05>>pzmap (H )num=[0,7.1570,-6.4875 ];den=[1,-2.2326,1.7641,-0.4966];sysd=tf(num,den,0.05,'variable','z^-1')Transfer function:7.157 z^-1 - 6.487 z^-2-----------------------------------------1 - 2.233 z^-1 + 1.764 z^-2 - 0.4966 z^-3Sampling time: 0.05二、 线性系统分析1. 请分析下面传递函数模型的稳定性。
MATLAB与控制系统仿真练习题(含图)及答案

MATLAB 与控制系统仿真练习题(含图)1、已知函数x x e x f x sin cos )(-=,作出函数的大致图像。
>> syms x>> y=exp(x)*cos(x)-sin(x); >> ezplot(y)2、求下列极限:(1)30sin lim xx x x -→ >> syms x>> y=(x-sin(x))/(x^3);>> limit(y,x,0)ans =1/6(2) xx x ⎪⎭⎫ ⎝⎛+∞→11lim >> y=(1+1/x)^x;>> limit(y,x,inf)ans =exp(1)3、求下列函数的导数:(1)x e y x sin =>> syms x>> y=exp(x)*sin(x);>> diff(y,x)ans =exp(x)*sin(x)+exp(x)*cos(x)(2) x e x x y 22sin +=>> syms x>> y=sin(x)+x^2*exp(2*x);>> diff(y,x)ans =cos(x)+2*x*exp(2*x)+2*x^2*exp(2*x)4、求.)1(532⎰-dx x x 和.sin ⎰xdx e x(1).)1(532⎰-dx x xsyms x>> int(x^2*(1-x^3)^5)ans =-1/18*x^18+1/3*x^15-5/6*x^12+10/9*x^9-5/6*x^6+1/3*x^3(2).sin ⎰xdx e x>> int(exp(x)*sin(x))ans =-1/2*exp(x)*cos(x)+1/2*exp(x)*sin(x)5、求.)(102⎰-dx x x 和.1102⎰-dx x x (1) .)(102⎰-dx x x>> syms x>> int(x-x^2,0,1)ans =1/6(2) .1102⎰-dx x x>> syms x>> int(x*(1-x^2)^0.5,0,1)ans =1/36、已知二元函数),(cos )sin(2xy xy z +=试求y x z x z y z x z ∂∂∂∂∂∂∂∂∂222,,,。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、 控制系统的模型与转换1. 请将下面的传递函数模型输入到matlab 环境。
]52)1)[(2(24)(32233++++++=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));GTransfer 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.992. 请将下面的零极点模型输入到matlab 环境。
请求出上述模型的零极点,并绘制其位置。
)1)(6)(5()1)(1(8)(22+++-+++=s s s s j s j s s G )2.8()6.2)(2.3()(1511-++=----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)>> z=[0 0 0 0 0 -1/3.2 -1/2.6];p=[1/8.2];H=zpk(z,p,1,'Ts',0.05)Zero/pole/gain:z^5 (z+0.3125) (z+0.3846)-------------------------(z-0.122)Sampling time: 0.05>>pzmap (H )num=[0,7.1570,-6.4875 ];den=[1,-2.2326,1.7641,-0.4966];sysd=tf(num,den,0.05,'variable','z^-1')Transfer function:7.157 z^-1 - 6.487 z^-2-----------------------------------------1 - 2.233 z^-1 + 1.764 z^-2 - 0.4966 z^-3Sampling time: 0.05二、 线性系统分析1. 请分析下面传递函数模型的稳定性。
221)(23+++=s s s s G 13)50600300(13)(22+++++=s s s s s s G>> num=[1];den=[1 2 1 2];G=tf(num,den);eig(G)'ans =-2.00000.0000 - 1.0000i0.0000 + 1.0000i可见,系统有两个特征根在虚轴上,一个特征根在虚轴左侧,所以系统是临界稳定的。
>> num=[3 1];den=[300 600 50 3 1];G=tf(num,den);eig(G)'ans =-1.9152-0.14140.0283 - 0.1073i0.0283 + 0.1073i可见,有两个特征根在虚轴右侧,所以系统是不稳定的。
2. 请判定下面离散系统的稳定性。
)05.025.02.0(23)(23+--+-=z z z z z H )34039.804.10215.20368.791.1576.1112.2)(1234512-++--++=-------z z z z z z z z H>> num=[-3 2];den=[1 -0.2 -0.25 0.05];H=tf(num,den,'Ts',0.1);[eig(H) abs(eig(H))]ans =-0.5000 0.50000.5000 0.50000.2000 0.2000可以看出,由于各个特征根的模均小于1,所以可以判定闭环系统是稳定的。
>> z=tf('z',0.1);H=(2.12*z^-2+11.76*z^-1+15.91)/…;(z^-5-7.368*z^-4-20.15*z^-3+102.4*z^-2+80.39*z-1-340);[eig(H) abs(eig(H))]ans =0 00 00 00 00 00 00 00 00 00 00 00 04.1724 4.17240.3755 + 0.1814i 0.41700.3755 - 0.1814i 0.4170-0.5292 0.5292-0.2716 0.27160.1193 0.1193可以看出,由于4.1724这个特征根的模大于1,所以可以判定闭环系统是不稳定的。
3. 设描述系统的传递函数为4032010958411812467284224494536546364032018576022208812266436380598251418)(2345678234567+++++++++++++++=s s s s s s s s s s s s s s s s G ,假定系统具有零初始状态,请求出单位阶跃响应曲线和单位脉冲响应曲线。
>> num=[18 514 5982 36380 122664 22088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320];G=tf(num,den)Transfer function:18 s^7 + 514 s^6 + 5982 s^5 + 36380 s^4 + 122664 s^3 + 22088 s^2 + 185760 s + 40320-----------------------------------------------------------------------------------------s^8 + 36 s^7 + 546 s^6 + 4536 s^5 + 22449 s^4 + 67284 s^3 + 118124 s^2 + 109584 s + 40320>> step(G ,10)>> impulse(G ,10)单位阶跃响应:单位脉冲响应:以下只做了解三、 基于MATLAB 的PID 控制器设计设计题目:1. 应用Ziegler — Nichols 算法设计PID 控制器,实现系统的闭环稳定,并比较对各个系统的控制效果。
3)1s (1G(s)+=未连入PID 控制器时的系统仿真及其性能指标如下:可见,未调节时的系统性能有待提高,需设计PID控制器连入。
输入:>> num=1;den=conv( [1,1],conv( [1,1],[1,1] ));Step(num,den);K=dcgain (num,den)得出:K =1根据图形,得出:L=1.86 T=4.4利用自定义的Ziegler_std函数求出Kp、Ti、Td输入:>> K=1;L=1.86;T=4.4;[num,den,Kp,Ti,Td]=Ziegler_std (3,[K,L,T])得出:num =2.6400 2.8387 1.5262den =10Kp =2.8387Ti =3.7200Td =0.9300根据得出的Kp 、Ti 、Td 值,设计PID 控制器,并利用利用Simulink 仿真建模。
仿真模型及其响应如下:可见,加入PID 控制器调节后,系统性能明显改善。
5)1s (1G(s)+=未连入PID 控制器时的系统仿真及其性能指标如下:可见,未调节时的系统性能有待提高,需设计PID 控制器连入。
输入:>> num=1;den=conv([1,1],conv([1,1],…;conv( [1,1],conv( [1,1],[1,1] ))));Step(num,den);K=dcgain (num,den)得出:K = 1根据图形,得出:L=3.4 T=6.8利用自定义的Ziegler_std函数求出Kp、Ti、Td输入:>> K=1;L=3.4;T=6.8;[num,den,Kp,Ti,Td]=Ziegler_std (3,[K,L,T])得出:num =4.0800 2.4000 0.7059den =1 0Kp =2.4000Ti =6.8000Td =1.7000根据得出的Kp、Ti、Td值,设计PID控制器,并利用利用Simulink仿真建模。
仿真模型及其响应如下:可见,加入PID控制器调节后,系统性能明显改善。
3)1 s(1-1.5s G(s)++=利用Simulink建模,未连入控制器时,仿真模型和响应如下:可见,未调节时的系统性能有待提高,需设计PID控制器连入。
输入:>>num=[-1.5 1];den=conv( [1,1],conv( [1,1],[1,1] ));Step(num,den);K=dcgain (num,den)得出:K =1根据图形,得出:L=1.8 T=5.7利用自定义的Ziegler_std函数求出Kp、Ti、Td输入:>> K=1;L=1.8T=5.7;[num,den,Kp,Ti,Td]=Ziegler_std (3,[K,L,T])得出:num =3.4200 3.8000 2.1111den =10Kp =3.8000Ti =3.6000Td =0.9000根据得出的Kp、Ti、Td值,设计PID控制器,并利用利用Simulink仿真建模。
仿真模型及其响应如下:可见,加入PID控制器调节后,系统性能明显改善。
以下可以不看四、模糊控制器设计设计任务:试设计一个模糊控制器,实现对室内温度的控制的模拟。
参考输入:(1)温度18-40℃范围内分为七个论域,NB NM NS ZE PS PM PB;隶属度函数满足高斯分布;(2)温度变化率-2 ~2℃范围内分为七个论域,NB NM NS ZE PS PM PB;隶属度函数满足高斯分布;参考输出:变频空调输出的控制信号。