generalwan 发表于 2008-6-27 20:36

询问一个非线性系统s函数的正确写法

小弟在做课程设计的时候,要设计一个双容水柜的控制器,但是这个模型是非线性连续系统,
下面是我自己写的s函数,当仿真的时候,无论输入怎么变化,输出图形都不变化,不知道原因,请各位大侠帮忙解决一下!谢谢!s函数如下:

function = mysh(t,x,u,flag)
Cv2=10.4;
Cv3=11.79;
A1=50;
A2=57;

switch flag,

case 0
    = mdlInitializeSizes(Cv2,Cv3,A1,A2);

case 1      
      sys=mdlDerivatives(t,x,u,Cv2,Cv3,A1,A2);
      
case 3                                                
    sys = mdlOutputs(t,x,u,Cv2,Cv3,A1,A2);

case {2,4,9}                                                
sys = [];
otherwise
    error(['Unhandled flag = ',num2str(flag)]);

end

function = mdlInitializeSizes(Cv2,Cv3,A1,A2)

sizes = simsizes;
sizes.NumContStates= 2;
sizes.NumDiscStates= 0;
sizes.NumOutputs   = 1;
sizes.NumInputs      = 1;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;

sys = simsizes(sizes);

x0= ;
str = [];
ts= ;

function sys=mdlDerivatives(t,x,u,Cv2,Cv3,A1,A2)
    sys(1)=x(2);
    sys(2)=(u/(A2*x(2)+Cv3*x(1)^0.5)-A1*Cv3*x(2)/(Cv2^2*x(1)^0.5)-1)*Cv2^2/(2*A1*A2)
   
function sys = mdlOutputs(t,x,u)

sys = x(1);

恳请各位大侠指出错误!

caonianxia 发表于 2010-4-28 16:21

没有人回答过?小弟也遇到类似问题了

yufeng 发表于 2010-4-29 09:41

输入变化给一个变化的数值 比如正弦 不要是固定数值
页: [1]
查看完整版本: 询问一个非线性系统s函数的正确写法