Matlab S函数 function sys=mdlDerivatives(t,x,u)

Matlab S函数 function sys=mdlDerivatives(t,x,u)

设函数为 h’’ = 1/J*(ut+dt)

1 s函数里 的x状态含义:

x(0.5 0)
状态1: x(1) ————状态值h
状态2: x(2) ————状态值的导数(或称速度)h’

2 function sys=mdlDerivatives(t,x,u)

在控制系统中,该函数可用于描述微分方程,例如描述被控对象和自适应率等,并采用数值分析方法(如ODE方法)实现模型的自动求解。如下:

function sys=mdlDerivatives(t,x,u) 
J=2;
dt=sin(t);
ut=u(1);
sys(1)=x(2);
sys(2)=1/J*(ut+dt);			 //注:  1/J*(ut+dt)为一个二阶导函数
function sys=mdlOutputs(t,x,u)
sys(1)=x(1);
sys(2)=x(2);

sys(1)根据x(2) 解出 函数里变量值 h ——状态1
sys(2)根据二阶导函数’1/J*(ut+dt)‘解出一阶导数 h’ ——状态2