声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2202|回复: 11

[其他相关] 这个该怎么弄啊?simulik问题

[复制链接]
发表于 2007-6-23 19:26 | 显示全部楼层 |阅读模式

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

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

x
用simulink封装系统方程y=a*sin(b*x)exp(-c*x) 并通过对话框输入a,b,c 的值
跪求大侠帮助!!!!!!!万分感谢,用s函数的
回复
分享到:

使用道具 举报

 楼主| 发表于 2007-6-23 19:30 | 显示全部楼层
在线=了,多谢了~~~~~~~~~~~~~~~~~~~~~~
发表于 2007-6-23 20:27 | 显示全部楼层
看看是不是这个意思啊
function [sys,x0,str,ts] = ff(t,x,u,flag)
switch flag,
  case 0,
    [sys,x0,str,ts]=mdlInitializeSizes;
  case 1,
    sys=mdlDerivatives(t,x,u);
  case 2,
    sys=mdlUpdate(t,x,u);
  case 3,
    sys=mdlOutputs(t,x,u);
  case 4,
    sys=mdlGetTimeOfNextVarHit(t,x,u);
  case 9,
    sys=mdlTerminate(t,x,u);
  otherwise
    error(['Unhandled flag = ',num2str(flag)]);
end
function [sys,x0,str,ts]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates  = 0;
sizes.NumDiscStates  = 0;
sizes.NumOutputs     = 1;
sizes.NumInputs      = 4;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;   % at least one sample time is needed
sys = simsizes(sizes);
x0  = [];
str = [];
ts  = [0 0];
function sys=mdlDerivatives(t,x,u)
sys = [];
function sys=mdlUpdate(t,x,u)
sys = [];
function sys=mdlOutputs(t,x,u)
sys = u(1)*sin(u(2)*u(4))*exp(-u(3)*u(4));
function sys=mdlGetTimeOfNextVarHit(t,x,u)
sampleTime = 1;    %  Example, set the next hit to be one second later.
sys = t + sampleTime;
function sys=mdlTerminate(t,x,u)
sys = [];
% end mdlTerminate
1.JPG

评分

1

查看全部评分

发表于 2007-6-23 22:05 | 显示全部楼层
:handshake 如何精简啊  说实话simulink包括s函数我不是很了解,刚接触,请指教以下,谢谢
 楼主| 发表于 2007-6-25 12:55 | 显示全部楼层
这个貌似s函数没编译通过啊...
发表于 2007-6-25 14:08 | 显示全部楼层
什么貌似,这就是s函数
估计你是单独运行这个函数了,你应该大好模型后直接运行模型(在s函数的模型那里填上这个s函数名,这里是ff)
发表于 2007-7-2 15:04 | 显示全部楼层
这是一个很简单的函数,直接用Fcn模块即可完成,如果想通过对话框输入参数,可在Fcn前后加in和out模块,然后封装即可!
发表于 2007-7-3 16:27 | 显示全部楼层
楼上说的对,直接用函数Fcn就可以了
发表于 2007-7-3 16:52 | 显示全部楼层
高手年年有,今年特别多
发表于 2007-7-5 07:44 | 显示全部楼层

回复 #3 yf2002043227 的帖子

讲的好,又学会了一招,呵呵
发表于 2007-7-8 17:27 | 显示全部楼层
发表于 2007-7-8 21:48 | 显示全部楼层
以前没用过S-function,问个没水准的问题。S-function的参数怎么设置才可以运行?我的总是出错。模型和m文件建立好了,就是运行模型的时候出错。
S-function name:ff
S-function parameters:
S-function modules:'?'
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-26 09:31 , Processed in 0.077249 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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