求教:使用s函数时出现的错误
在模型中使用了s函数,仿真时出现如:Error in 'myBoost/S-Function' while executing M-File S-function 'ercichazhi', flag = 3 (output), at time 0. MATLAB error message:Undefined function or variable "P"
的错误,麻烦高手帮忙看看,谢谢!!!
回复 #1 spare 的帖子
好像是说刚开始时输出函数部分有问题,难道是初始值设置的问题 若是你的S函数引入了参数"P"第一行:function = sfuntmpl(t,x,u,flag,P):
同样case 0,
=mdlInitializeSizes(P)
case 3,
sys=mdlOutputs(t,x,u,P);
以及function =mdlInitializeSizes(P)
function sys=mdlOutputs(t,x,u,P)
若是用到了状态方程:应设在mdlDerivatives(t,x,u,P)中加入参数P
注:上述都是在S函数摸板编辑环境中进行的.
回复 #3 bin1996 的帖子
我是在调用函数中使用了P参数,也必须这样吗? 引入也是需要声明的,最起码在该S函数里面你需要对它定义,否则matlab 不知道你这个是干吗的?如果可能可以看下程序,看下呢.
页:
[1]