chasedream 发表于 2008-11-18 18:56

怎么编写微分的S函数啊?

请问如果用M编写S函数的话,S环节怎么写啊?输出是输入的导数,一般的用状态方程也不好写,因为分子阶数比分目高,微分环节是PID的一部分,现在想自己编写连续PID的S函数,请高手支招

yufeng 发表于 2008-11-19 08:18

s函数有专门的导数输出

chasedream 发表于 2008-11-19 12:42

哦,直接有导数输出,能不能告诉我相关的资料在哪里?

tinylion 发表于 2008-11-20 13:06

和你碰到一样的问题哈,帮你顶一下,希望有好心人帮忙

我也不知道output那地方如何写

yufeng 发表于 2008-11-21 09:24

看看s函数的模版

tinylion 发表于 2008-11-21 18:50

SIGH,高手MS不屑于这些基本问题

tinylion 发表于 2008-11-21 22:58

function = spid(t,x,u,flag,Kp,Ki,Kd)
switch flag,
case 0,
      sizes = simsizes;
      sizes.NumContStates = 1;
      sizes.NumDiscStates = 0;
      sizes.NumOutputs   = 1;
      sizes.NumInputs      = 1;
      sizes.DirFeedthrough = 1;
      sizes.NumSampleTimes = 1;
      sys = simsizes(sizes);
      x0=0;
      str=[];
      ts=;
case 1,
      sys=Ki*u;% dx/dt=Ki*u;
case 3,         
      sys=Kp*u+x+Kd*u*?; %y=Kp*u+x+?   就剩下这一小截不会写了,请高手指点
      
case {2,4,9},
    sys = [];
end
页: [1]
查看完整版本: 怎么编写微分的S函数啊?