声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1435|回复: 4

求教:使用s函数时出现的错误

[复制链接]
发表于 2007-4-16 15:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
在模型中使用了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"
的错误,麻烦高手帮忙看看,谢谢!!!
回复
分享到:

使用道具 举报

 楼主| 发表于 2007-4-16 15:03 | 显示全部楼层

回复 #1 spare 的帖子

好像是说刚开始时输出函数部分有问题,难道是初始值设置的问题
发表于 2007-4-16 19:36 | 显示全部楼层
若是你的S函数引入了参数"P"
第一行:function [sys,x0,str,ts] = sfuntmpl(t,x,u,flag,P):
同样case 0,
    [sys,x0,str,ts]=mdlInitializeSizes(P)
case 3,
    sys=mdlOutputs(t,x,u,P);
以及function [sys,x0,str,ts]=mdlInitializeSizes(P)
function sys=mdlOutputs(t,x,u,P)
若是用到了状态方程:应设在mdlDerivatives(t,x,u,P)中加入参数P
注:上述都是在S函数摸板编辑环境中进行的.

评分

1

查看全部评分

 楼主| 发表于 2007-4-17 09:16 | 显示全部楼层

回复 #3 bin1996 的帖子

我是在调用函数中使用了P参数,也必须这样吗?
发表于 2007-4-17 11:21 | 显示全部楼层
引入也是需要声明的,最起码在该S函数里面你需要对它定义,否则matlab 不知道你这个是干吗的?
如果可能可以看下程序,看下呢.
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-21 12:47 , Processed in 0.055427 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表