马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我想用S函数表达下式
(Kv1xv1sqrt(2/850(Pcc))-Ac3xc1)Be/Vc3=dPcc/dt
function [sys,x0,str,ts] = sfungain(t,x,u,flag,Kv1,Vc3,Be,Ac3)
case 0,
[sys,x0,str,ts]=mdlInitializeSizes(Kv1,Vc3,Be,Ac3);
case 1,
sys=mdlDerivatives(t,x,u,Kv1,Vc3,Be,Ac3);
case 1,
sys=mdlOutputs(t,x,u);
case(2,4,9)
sys=[]
function [sys,x0,str,ts]=mdlInitializeSizes(Kv1,Vc3,Be,Ac3)
sizes = simsizes;
sizes.NumContStates = 1;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 1;
sizes.NumInputs = 2;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1; % at least one sample time is needed
sys = simsizes(sizes);
x0 = [32e6];
str = [];
ts = [0 0];
function sys=mdlDerivatives(t,x,u,Kv1,Ac3,Be,Vc3)
sys=(Kv1*u(1)*sqrt(0.002*x)-Ac3*u(2))*Be/Vc3;
function sys=mdlOutputs(t,x,u)
sys=[x];
运行中出现问题
1.State derivatives returned by S-function 'sfunPcc' during flag=1 call must be a real vector of length 1
我把Vc1附上值这个问题没有了,但是当我把它嵌到整个系统模型中,这个模块又出现这个问题,不知道怎么回事?
2.代数环的问题
我觉得是我的S函数的输出Pcc又作为了该模块的输入造成的,不知道有什么解决办法? |