用S-函数编写Simulink中的正弦模块

1、用S-函数实现一个正弦波信号源。要求其幅度、频率和初始相位参数可由外部设置,并将这个信号源进行封装。
S-函数程序代码如下:


function [sys,x0,str,ts] =ch2example17Sfun(t,x,u,flag,Amp,Freq,Phase) 
% 正弦波信号源
switch flag, 
    case 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为空矩阵
otherwise % 异常处理 
       error(['Unhandled flag = ',num2str(flag)]); 
end 
% 主函数结束 
% 子函数实现(1)初始化函数----------------------------------
function [sys,x0,str,ts] = mdlInitializeSizes  % 
sizes = simsizes;           % 获取SIMULINK仿真变量结构
sizes.NumContStates  = 0;   % 连续系统的状态数为0
sizes.NumDiscStates  = 0;   % 离散系统的状态数为0
sizes.NumOutputs     = 1;   % 输出信号数目是1 
sizes.NumInputs      = 0;   % 输入信号数目是0
sizes.DirFeedthrough = 0;   % 该系统不是直通的 
sizes.NumSampleTimes = 1;   % 这里必须为1 
sys = simsizes(sizes); 
str = [];           % 通常为空矩阵 
x0  = [];           % 初始状态矩阵x0 (零状态情况) 
ts  = [0 0];        % 表示连续取样时间的仿真
% 初始化函数结束 
 
% 子函数实现(2)系统输出方程函数-----------------------------
function sys = mdlOutputs(t,Amp,Freq,Phase) 
sys = Amp*sin(2*pi*Freq*t+Phase);% 这里写入系统的输出方程矩阵形式即可
% 修改这个函数可以得到任意的波形输出
% 系统输出方程函数结束

 

 

2、在该S-函数接口中,我们使用了三个输入参数项分别作为正弦波的幅度、频率和初

位的输入,相应地在使用S-函数模块调用该函数时需要在设置对话框中的S-function 

parameters中填写这些输入参数项,然后对S-函数模块进行封装,就得到了一个子系

统和相应的参数设置对话框。完成后的系统如下图所示。最后,设置好示波器显示范

围和仿真参数就可以启动仿真实验了。



图:S-函数实现的信号源和封装结果



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492393.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2019计算与系统神经科学大会Cosyne 前沿研究汇总

来源:混沌巡洋舰摘要:计算神经科学是一门超级跨学科的新兴学科,几乎综合信息科学,物理学, 数学,生物学,认知心理学等众多领域的最新成果。关注的是神经系统的可塑性与记忆,抑制神经元…

MATLAB中的S-Function的用法(C语言)

1. S-Function简介 S-Function是system-function的缩写。说得简单,S-Function就是用MATLAB所提供的模型不能完全满足用户,而提供给用户自己编写程序来满足自己要求模型的接口。 2. MEX函数与M文件的区别 第一, MEX 函数能实现的回调函数比…

一文读懂民航客机飞控系统

来源:传感器技术摘要:埃塞俄比亚航空公司波音737 MAX 8型客机当地时间10日坠毁,这是时隔不到5个月,波音同一型号飞机发生的第二起空难。鉴于两起事故具有明显的相似性,越来越多的将目标指向了该型号的设计缺陷——飞控…

VC创建DLL动态链接库及其调用

1.1 创建dll项目 1.2 为dll项目编写源文件 头文件dllDemo.hextern "C" _declspec(dllexport) int Sum(int a,int b);//加法函数。extern "C" _declspec(dllexport) int Max(int a, int b);//取较大值函数extern "C" _declspec(dllexport) int Mi…

10个免费开源的JS音乐播放器插件

点这里 音乐播放器在网页设计中有时候会用到,比如一些时尚类、音乐或影视类等项目,但这些 网页播放器 插件比较少见,所以这里为大家整理一个集合,也许会有用到的时候。 下面整理的播放器有些是支持自适应的,如果需要用…

用上AI、用好AI!AiRiA研究院“普惠AI,芯向边缘”战略发布会圆满举行

近年来,在万物智联的趋势下,物联网产业从概念炒作进入加速落地的实质性阶段,端侧数据处理能力与云端数据处理能力已变的同等重要,而AI芯片从“云端”走向“边缘”已呈现出不可逆的趋势。值此AI落地初探之年,为把“高高…

百年科技的历史回顾与哲学反思

来源:科学的历程摘要:科学的社会化和社会的科学化是科学的世纪里两个基本的标志。回顾百年科技历程,不只是讲述一个历史故事,更是反省我们当下的处境。19世纪是第一个科学的世纪,二十世纪是第二个,当然也是…

《中国大数据产业白皮书及百强榜单》:一览中国大数据产业发展全局

来源:网络大数据摘要:近日,赛迪顾问重磅发布了《中国大数据产业白皮书及百强榜单》。《中国大数据产业白皮书及百强榜单》从大数据整体市场方向分享了相关洞见,对大数据产业未来发展趋势进行了分析和预测。并梳理中国大数据投资价…

万字报告做空特斯拉:马斯克在操盘一场“庞氏骗局”|硅谷封面

来源: 腾讯科技摘要:美国价值投资人俱乐部VIC日前发表文章,从产品需求减弱、安全性能差、资金缺口巨大、伊隆马斯克或被免职等多个角度着手进行分析,称目前是全力做空特斯拉(纳斯达克证券代码:TSLA&#xf…

内存对齐的规则以及作用

首先由一个程序引入话题&#xff1a; 1 //环境&#xff1a;vc6 windows sp2 2 //程序13 #include <iostream>4 5 using namespace std;6 7 struct st1 8 {9 char a ;10 int b ;11 short c ;12 };13 14 struct st215 {16 short c ;17 char a ;18 …

中国AI创新者论坛成功举办!这里有一份AI教育和医疗的落地秘籍

来源&#xff1a;THU数据派3月21日&#xff0c;由网易新闻、网易有道、清华数据院共同举办的以“创新&#xff0c;无界”为主题的“中国AI创新者论坛”在清华大学罗姆楼三层报告厅成功举办。律回岁晚冰霜少&#xff0c;春到人间草木知&#xff0c;初春的北京&#xff0c;顶级人…

windows下jenkins slave 搭建

一 创建新的Slave 注意Jenkins中slave称为note。 所以下面文章中的slave和node指的是一回事。 1&#xff09;在Manage Jenkins-->Manage Nodes -->New Node下&#xff1a;输入Node Name&#xff0c;且选择Dumb Slave作为Slave的类型&#xff0c;然后OK。 2&#xff09;在…

MEMS:万物智联技术关键

来源&#xff1a;Research摘要&#xff1a;MEMS技术在汽车电子、生物医疗、智慧家庭、工业物联网、消费电子等领域都有着广阔的市场前景。随着万物互联时代的加快到来&#xff0c;MEMS传感器将迎来新的浪潮。一、MEMS 是什么1、MEMS 定义MEMS&#xff08;Microelectromechanica…

2019年25大人工智能趋势!一文看到未来

来源&#xff1a;智东西摘要&#xff1a;2019年25个AI趋势。人工智能的下一步是什么&#xff1f;上周&#xff0c;知名机构CBinsights的分析师分析各个行业&#xff0c;得到了2019年最值得关注的25个人工智能趋势。虽然人工智能正在各个行业蔓延&#xff0c;经常成为头条新闻&a…

重磅!首次发现人类大脑海马体在短时间尺度上对时间信息敏感

来源&#xff1a;brainnews编译&#xff1a;南樛木早期对啮齿动物海马体的研究提供了情景记忆中海马体表达时间信息的一般神经机制证据。对记忆编码的方式涉及到许多信息&#xff0c;科学家们已经研究了其中大部分是如何工作的。但是有一个维度仍未得到解决&#xff1a;时间。最…

2015新款 MacBook 用心的测评与试用. 最轻薄的Mac上市

2015新款 MacBook 不一样的测评与试用. 最轻薄的Mac上市了. 直击现场 《HTML开发MacOSApp教程》 http://pan.baidu.com/s/1jG1Q58M 2015年的春季的苹果特别媒体发布会上, 苹果发布了超轻薄的 MacBook 产品. 或许当你阅读本文的时候已经看过不少跑分, 性能测试文章, 为了不让…

数字图像处理——图像的几何变换

这次学习图像的几何变换&#xff0c;主要有以下内容&#xff1a;图像的平移变换图像的镜像变换图像的转置变换图像的旋转变换图像的缩放1、图像的平移变换在进行书写matlab代码之前&#xff0c;先来了解一下图像平移的理论基础。设图像的高度为H&#xff0c;宽度为W&#xff0c…

万字长文解读运营商搏击5G:一场比拼财力的三国杀

来源&#xff1a;财经无忌摘要&#xff1a;5G时代已经来临&#xff0c;5G走向商用的步伐也在逐渐加快。近日&#xff0c;腾讯科技联合优质科技媒体推出“5G局中局”系列文章&#xff0c;为你解读5G在通讯、物联网、车联网、工业联网、边缘计算、云服务等各行业的应用&#xff0…

MVP

MVP是一种广泛使用的UI架构模式&#xff0c;适用于基于事件驱动的应用框架。 能够与 Model直接进行交互的仅限于 Presenter, View 只能通过 Presenter 间拉地调用 Model。 MVP分PV&#xff08;Passive View) 和 &#xff08;Supervising Controller)两种模式 SC(Supervising Co…

OpenCV——图像显示与写入

1、图像显示与写入的代码如下&#xff1a; #include<opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hpp>using namespace cv; using namespace std; //opencv中图像显示与写入 int main() {Mat myMat imread("小狗1.jpg", -1);if (myMat.em…