下载此文档

matlabM文件S函数标准模板.doc


文档分类:办公文档 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
function[sys,x0,str,ts]=sfuntmpl(t,x,u,flag)%SFUNTMPL是M-文件S函数模板%  通过剪裁,用户可以生成自己的S函数,不过一定要重新命名%  利用S函数可以生成连续、离散混合系统等,实现任何模块的功能%%  M-文件S函数的语法为:%       [SYS,X0,STR,TS]=SFUNC(T,X,U,FLAG,P1,...,Pn)%%  参数含义:%       t是当前时间%       x是S函数相应的状态向量%       u是模块的输入%       flag是所要执行的任务%%   FLAG   结果               功能%   -----  ------             --------------------------------------------%   0      [SIZES,X0,STR,TS]  模块初始化%   1      DX                 计算模块导数%   2      DS                 更新模块离散状态%   3      Y                  计算模块输出%   4      TNEXT              计算下一个采样时间点%   9      []                 结束仿真%%%  用户切勿改动输出参数的顺序、名称和数目%  输入参数的数目不能小于1,这四个参数的名称和排列顺序不能改动%  用户可以根据自己的要求添加额外的参数,位置依次为第5,6,7,8,9等。%  S函数的flag参数是一个标记变量,具有6个不同值,分别为0,1,2,3,4,9%  flag的6个值分别指向6个不同的子函数%  flag所指向的子函数也成为回调方法(CallbackMethods)switchflag,%初始化,调用“模块初始化”子程序%  case0,    [sys,x0,str,ts]=mdlInitializeSizes;%连续状态变量计算,调用“计算模块导数”子函数%  case1,    sys=mdlDerivatives(t,x,u);%更新,调用“更新模块离散状态”子函数%  case2,    sys=mdlUpdate(t,x,u);%输出,调用“计算模块输出”子函数%  case3,    sys=mdlOutputs(t,x,u);%计算下一时刻采样点,调用“计算下一个采样时刻点”子函数%  case4,    sys=mdlGetTimeOfNextVarHit(t,x,u);%结束,调用“结束仿真”子函数%  case9,    sys=mdlTerminate(t,x,u);%其他的flag%  otherwise    ('Simulink:blocks:unhandledFlag',num2str(flag));end%endsfuntmpl%=============================================================================%“模块初始化”子函数%返回大小、初始条件和样本function[sys,x0,str,ts]=mdlInitia

matlabM文件S函数标准模板 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人gumumeiying
  • 文件大小18 KB
  • 时间2020-09-30