找回密码
 注册
关于网站域名变更的通知
查看: 595|回复: 1
打印 上一主题 下一主题

[仿真讨论] S函数的设计与应用

[复制链接]
  • TA的每日心情
    开心
    2020-8-28 15:14
  • 签到天数: 2 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-12-15 13:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    本帖最后由 senlenced3 于 2020-12-15 13:36 编辑
    2 l+ ]% l" f  f. |" ?* y; k5 ^" L
    ( v1 w& J- r( p2 i3 b( f; r( kS函数的设计与应用什么叫S函数
    • S函数是系统函数 (System Function)的简称,是指采用一种程序设计语言描述的一个功能模块。
    • 用户可以采用 MATLAB语言,也可以采用C、C++或FORTRAN等语言来编写S函数。
    • S函数有自己特定的语法构成规则,可以用来描述并实现连续系统、离散系统以及复合系统。
    • S函数能够接收来自 Simulink求解算法的相关信息,并对求解算法发出的命令做出适当的响应,这种交互作用类似于 Simulink系统模块与求解算法的相互作用。
      - n3 j" L9 z& W% d  N: a
    用MATLAB语言编写S函数

    在MATLAb命令窗口输入命令,打开模板文件
    5 m# f2 h9 J3 F: M6 E. y
    6 J1 t7 D8 J- n) I! r模板文件sfuntmpl.m包括:

    • 1个主函数
    • 6个子函数
      + e# m! G. l) A6 b3 W' ]( C

    (1)主函数2 t  S% j# K# \/ O/ \# i: \
    主函数的引导语句为:
    ( p3 C7 H" m, |/ N" E

    • fname是S函数的函数名。
    • 输入形参t、x、u、flag分别为仿真时间、状态向量、输入向量和子函数调用标志。
    • 输出形参sys代表一种返回参数;x0是初始状态值;对于M文件S函数,str将被置成一个空阵;ts是一个两列矩阵。" A; m/ I2 c0 o, T, h3 W' u

    (2)子函数! Z! `9 F, c& G% \) r! k7 r
    S函数共有6个子函数,这些子函数的前辍为mdl,由flag的值来控制在仿真的各阶段调用S函数的哪一个子函数。

    • flag取0:调用初始化子函数 mdlInitializeSizes
    • flag取1:调用子函数 mdlDerivatives实现连续状态的更新。
    • flag取2:调用子函数 mdlUpdate实现离散状态的更新。
    • flag取3:调用输出子函数 mdlOutputs$ y( ]0 H! }2 D  `5 w/ ?. p
    S函数的应用

    采用S函数实现y=kx+b。
    ! o% O) ?, |& Z+ T1 m6 d6 r(1)定义S函数

    • 主函数4 H) U% U- q7 I; P, |6 @, w
    • 初始化子函数  M- P1 z" U8 m+ \1 v
    • 输出子函数
      1 A# w+ y$ p: J4 P/ [
      " p7 j5 [, v, y9 g! g' y' {

    (2)在Simulink模型中使用S函数
    % J: k+ w7 U0 X


    2 L! I4 R  N/ Z7 ~! \& s6 g+ [! E 4 d0 M7 A# ?/ I

    - ~3 r* |. t7 }; j/ _
  • TA的每日心情
    奋斗
    2020-9-2 15:06
  • 签到天数: 2 天

    [LV.1]初来乍到

    2#
    发表于 2020-12-15 14:25 | 只看该作者
    S函数是系统函数 (System Function)的简称,是指采用一种程序设计语言描述的一个功能模块
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-7-23 14:06 , Processed in 0.125000 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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