fun在matlab里面啥意思_matlab中关于S-fun的调用以及子系统的封装

本文介绍了如何在MATLAB R2017b中使用S函数创建正弦波信号源,并进行子系统的封装。通过搭建主系统模型,编写S函数代码,设置S-Function模块参数,以及封装子系统,实现自定义波形的生成和参数可调。
摘要由CSDN通过智能技术生成

近日学习matlab建模方面的东西,mark一个网站:http://wtclab.net/txfz/jkmulu.html,邵玉斌老师的教案。

本篇记录一个包含S函数的子系统的建立和封装,用S函数产生任意正弦波。

matlab版本:R2017b

步骤如下:

①首先建立主系统模型。在命令行窗口输入simulink,在弹出的窗口中新建Blank Model,接着点击simulink工具栏的Library Browser,从中选取模块搭建主系统模型,如下图。

接着,双击Subsystem搭建子系统内部模型,如下图。

②系统模型搭建好之后,新建M文件编写S函数,示例代码如下。(注意:函数名需与M文件名一致。)

function [sys,x0,str,ts] =example1Sfun(t,x,u,flag,Amp,Freq,Phase)%正弦波信号源switchflagcase 0 % flag=0初始化

[sys,x0,str,ts]=mdlInitializeSizes;case 3 % flag=3计算输出

sys=mdlOutputs(t,Amp,Freq,Phase);case {1, 2, 4, 9 } %其他作不处理的flag

sys=[]; %无用的flag时返回sys为空矩阵

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值