此示例显示了如何指定Simulink块或子系统的线性化。金宝app
命令线性化
在Si金宝appmulink控制设计中,使用精确的线性化方法给出Simulink模型的线性近似。这种线性化在给定的操作点周围的一个小区域中有效。这种方法适用于大多数Simulink模型,但在某些情况下,您需要修改金宝app确切的线性化方法,以考虑不连续性的影响或近似衍生或延迟动作的动态。许多内置的Simulink块金宝app(例如饱和或死区非线性)提供在线化时将作为收获用于控制此行为的参数。在该示例中,您可以为子系统指定自定义线性化以近似PWM信号的线性化。
以下示例模型具有子系统SCDPWM /电压到PWM
,它模拟了进入植物模型的PWM信号。
mdl ='scdpwm';Open_System(MDL)
当您使用标准配置线性化此模型时,产生的线性模型的增益为零。
IO = GetLinio(MDL);sys =线性化(mdl,io)
sys = d =步工厂模型0静态增益。
块SCDPWM /电压为PWM /比较为零
使这种线性化为零。
pwmblk ='SCDPWM /电压到PWM';Open_System(PWMBLK)
线性化为零,因为该块表示纯不连续的非线性。
U = [-1:0.1:0,0:0.1:1];Y = [零(11,1);(11,1)];情节(U,Y)Xlabel('块输入 - U')ylabel('块输出 - Y')ylim([ - 0.1 1.1]);
使用Sim金宝appulink控制设计,您可以控制Simulink模型中块的线性化。您可以使用以下方式指定块的线性化:
矩阵
线性时间不变模型,如传输函数或状态空间
鲁棒控制不确定参数/状态空间模型
在此示例中,PWM子系统包含时间延迟
此时间延迟占PWM信号的占空比频率,其为100Hz。指定子系统的延迟SCDPWM /电压到PWM
右键单击块并选择线性分析 - >指定线性化。您指定延迟动态的块对话框将打开。
以下代码相当于进入规范对话框的延迟。
set_param(pwmblk,'scquableblocklinearizationspecification'那'上');rep = struct('规格'那'ss(1,''outputdelay'',1/100)'那......'类型'那'表达'那......'parameternames'那''那......'parametervalues'那'');set_param(pwmblk,'scdblocklinearizationspececifications',代表);
使用指定子系统线性化的线性化现在提供了预期的结果。
opt =线性化选项('采样时间',0);SYS = ZPK(线性化(MDL,IO,OPT))
sys =从输入“步骤”输出“工厂型号”:1 exp(-0.01 * s)* -------------(s ^ 2 + s + 1)连续时间零/杆/增益模型。
您可以使用a将模型的线性化与实际线性化进行比较疯狂.Createstep.
信号。值得注意的是,不需要删除线性化的规范来使用原始模型配置模拟。线性化规范对模拟没有影响,只有线性化。目视检查表明,线性化准确表示动态。
cla instep = frest.createstep('ts',1/10000,'步进',1,......'一步的大小',1e-1,'Finaltime'15);[sysf,simoutstep] =苦恼(MDL,IO,Instep);疯狂的.simcompare(Simoutstep,Sys,Instep)传奇('用PWM子系统规范的线性化'那......'模拟步骤响应'那'地点'那'东方的')
块线性化规范不限于线性时间不变模型。如果您拥有强大的控制工具箱™软件,则可以为模型中的块指定不确定的参数和不确定的状态空间(USS)模型。所得到的线性化是一种不确定的模型。这个例子具有不确定性的Simulink模型金宝app的线性化(强大的控制工具箱)显示如何使用不确定性计算线性化。
您还可以在连续域中进行离散控制器和连续植物动态进行模型进行分析。有关更多详细信息,请参阅建模计算延迟与采样效果。
关闭Simulink金宝app模型。
BdClose(MDL)