赞
踩
该系列博客主要讲述 M A T L A B {\rm MATLAB} MATLAB软件在自动控制方面的应用,参考书籍:《 M A T L A B / S I M U L I N K {\rm MATLAB/SIMULINK} MATLAB/SIMULINK与控制系统仿真》。
在模型窗口中,选中模块,四角出现黑色标记,对模块可以进行如下操作:
" c t r l + E {\rm ctrl+E} ctrl+E"打开仿真器参数设置界面:
仿真时间 ( S i m u l a t i o n t i m e ) ({\rm Simulation\ time}) (Simulation time)
计算机仿真对时间的表示, 10 s {\rm 10s} 10s的仿真时间,如果采样步长为 0.1 {\rm 0.1} 0.1,则需要执行 100 100 100步,如果把步长减小,则采样点数增加,实际执行的时间会增加;
需要设置仿真开始时间 ( S t a r t t i m e ) ({\rm Start\ time}) (Start time)和仿真结束时间 ( S t o p t i m e ) ({\rm Stop\ time}) (Stop time),仿真开始时间一般设置为 0 0 0,结束时间视情况而定;
仿真步长模式 ( T y p e ) ({\rm Type}) (Type)
仿真步长模式可选: V a r i a b l e − s t e p {\rm Variable-step} Variable−step(变步长)模式和 F i x e d − s t e p {\rm Fixed-step} Fixed−step(固定步长)模式;
变步长模式在仿真过程中改变可以改变步长,提供误差控制和过零检测选择;固定步长模式在仿真过程中提供固定的步长,不提供误差控制和过零检测;
解法器 ( S o l v e r ) ({\rm Solver}) (Solver)
变步长模式的解法器:
固定步长模式的解法器:
变步长模式的步长参数设置
固定步长模式的步长参数设置
实验要求:使用 S I M U L I N K {\rm SIMULINK} SIMULINK求解微分方程 d u d t = cos ( sin t ) , u ( 0 ) = 1 \displaystyle\frac{{\rm d}u}{{\rm d}t}=\cos(\sin{t}),u(0)=1 dtdu=cos(sint),u(0)=1。
解:
# 实验步骤:
# 1.所需模块:正弦信号、余弦函数、积分模块、观测结果模块;
# 2.各模块所在位置
# 2.1 正弦信号:Sources模块组中Sine Wave模块;
# 2.2 余弦函数:Math Operations模块组中Trigonometric Function模块,双击该模块选择余弦函数;
# 2.3 积分模块:Continuous模块组中Integrator模块;
# 2.4 显示模块:Sinks模块组中Scope模块(示波器模块);
# 3.把各模块拖曳到仿真窗口,并连接起来;
# 4.点击"run",然后双击Scope(示波器)显示结果;
实验要求:产生一个 5 sin ( 2 t ) {5\sin(2t)} 5sin(2t)和 sin ( 5 t ) \sin(5t) sin(5t)叠加的信号,另外叠加一个功率谱为 0.5 0.5 0.5的限带宽白噪声;
解:
# 实验步骤:
# 1.所需模块:正弦信号、限带宽白噪声、加法模块、观测结果模块;
# 2.各模块所在位置
# 2.1 正弦信号:Sources模块组中Signal Generator模块,双击模块设置正弦信号参数;
# 2.2 限带宽白噪声:Sources模块组中Band-Limited White Noise模块,双击设置Noise power为0.5;
# 2.3 加法模块:Math Operations模块组中Add模块,双击将"List of Signs"的"++"改为"+++";
# 2.4 示波器模块:Sinks模块组中Scope模块;
# 3.把各模块拖曳到仿真窗口,并连接起来;
# 4.点击"run",然后双击Scope(示波器)显示结果;
实验要求:已知单位负反馈二阶系统的开环传递函数为: G ( s ) = 10 s 2 + 3 s G(s)=\displaystyle\frac{10}{s^2+3s} G(s)=s2+3s10,使用 S I M U L I N K {\rm SIMULINK} SIMULINK求解其单位阶跃响应。
解:
# 实验步骤:
# 1.所需模块:阶跃信号、相加器、传递函数、示波器;
# 2.各模块所在位置
# 2.1 阶跃信号:Sources模块组中Step模块;
# 2.2 相加器:Math Operations模块组中Sum模块;
# 2.3 传递函数:Continuous模块组中Transfer Fcn模块;
# 2.4 示波器模块:Sinks模块组中Scope模块;
# 3.把各模块拖曳到仿真窗口,并连接起来;
# 4.点击"run",然后双击Scope(示波器)显示结果;
实验要求:某控制系统的传递函数为: Y ( s ) X ( s ) = G ( s ) 1 + G ( s ) \displaystyle\frac{Y(s)}{X(s)}=\displaystyle\frac{G(s)}{1+G(s)} X(s)Y(s)=1+G(s)G(s),其中: G ( s ) = s + 50 2 s 2 + 3 s G(s)=\displaystyle\frac{s+50}{2s^2+3s} G(s)=2s2+3ss+50,用 S I M U L I N K {\rm SIMULINK} SIMULINK求解其阶跃输出响应,并将响应曲线导入到 M A T L A B {\rm MATLAB} MATLAB工作空间,在工作空间中绘制响应曲线。
解:
# 实验步骤:
# 1.所需模块:阶跃信号、传递函数、加法模块、数据导出模块、结果观测模块;
# 2.各模块所在位置
# 2.1 阶跃信号:Sources模块组中Step模块;
# 2.2 传递函数:Continuous模块组中Transfer Fcn模块;
# 2.3 加法模块:Math Operations模块组中Sum模块;
# 2.4 示波器模块:Sinks模块组中Scope模块;
# 2.5 数据导出模块:Sinks模块组中To Workspace模块,导出数据命令:y,save format设为array;
# 3.把各模块拖曳到仿真窗口,并连接起来;
# 4.点击"run",然后双击Scope(示波器)显示结果;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。