重头再来 发表于 2009-11-24 14:02:21

想做个风速变化模型遇到困难,请高手指点。

我想用MATLAB/simulink中的S函数做个阵风风速模型。老是提示错误如下:Error, M-File S-function 'gustvelocity' in 'half/S-Function' is expecting 1 parameter(s) while 3 were provided.
源代码如下:
function = gustvelocity(u,flag,p1,p2,p3)
switch flag,
case 0,
    =mdlInitializeSizes(p1,p2,p3);
case 3,
    sys=mdlOutputs(u,p1,p2,p3);
    case{1,2,4,9}
      sys=[];
otherwise
    error(['Unhandled flag = ',num2str(flag)]);
end
function =mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates= 0;
sizes.NumDiscStates= 0;
sizes.NumOutputs   = 4;
sizes.NumInputs      = 3;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0= [];
str = [];
ts= ;
function sys=mdlOutputs(u,p1,p2,p3)
if u<p1
    sys=0;
elseif u>=p1&&u<=p1+p2
    sys=p3/2-p3/2*cos(2*pi*((u/p1)-(p2/p1)));
else
    sys=0;
end
我不知道哪出了问题,请高手指点一二。

重头再来 发表于 2009-11-24 14:04:08

解释下:p1表示启动时间;p2表示阵风周期;p3最大阵风风速;

lhw606 发表于 2009-11-29 16:35:58

是用S 函数编写的牙~~~~~~~~~~~~~~

重头再来 发表于 2009-12-13 16:47:59

回复 3# lhw606


    是啊,我掌握的文献中,都是在程序中设定好的风速,这样就有点讨巧。
    我在想是不是可以灵活些,把程序做成模块,我们在模块外部进行设定风速数值。

senyul 发表于 2010-7-9 16:42:59

遇到同样的问题啊,我是用S函数写,但也没成功,还在思考中。。。。

LJ.G 发表于 2010-8-24 16:14:45

回复 1# 重头再来
页: [1]
查看完整版本: 想做个风速变化模型遇到困难,请高手指点。

招聘斑竹