想做个风速变化模型遇到困难,请高手指点。
我想用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
我不知道哪出了问题,请高手指点一二。 解释下:p1表示启动时间;p2表示阵风周期;p3最大阵风风速; 是用S 函数编写的牙~~~~~~~~~~~~~~ 回复 3# lhw606
是啊,我掌握的文献中,都是在程序中设定好的风速,这样就有点讨巧。
我在想是不是可以灵活些,把程序做成模块,我们在模块外部进行设定风速数值。 遇到同样的问题啊,我是用S函数写,但也没成功,还在思考中。。。。 回复 1# 重头再来
页:
[1]