刘卫国全套配套课件MATLAB程序设计与应用第3版第12章 MATLAB Simulink系统仿真__源程序.doc

刘卫国全套配套课件MATLAB程序设计与应用第3版第12章 MATLAB Simulink系统仿真__源程序.doc

ID:52095467

大小:70.00 KB

页数:3页

时间:2020-03-22

刘卫国全套配套课件MATLAB程序设计与应用第3版第12章  MATLAB Simulink系统仿真__源程序.doc_第1页
刘卫国全套配套课件MATLAB程序设计与应用第3版第12章  MATLAB Simulink系统仿真__源程序.doc_第2页
刘卫国全套配套课件MATLAB程序设计与应用第3版第12章  MATLAB Simulink系统仿真__源程序.doc_第3页
资源描述:

《刘卫国全套配套课件MATLAB程序设计与应用第3版第12章 MATLAB Simulink系统仿真__源程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第12章MATLABSimulink系统仿真例12-8采用S函数实现y = nx,即把一个输入信号放大n倍。①利用MATLAB语言编写S函数,程序如下。%*******************************************************%S函数timesn.m,其输出是输入的n倍%*******************************************************function[sys,x0,str,ts]=timesn(t,x,u,flag,n)sw

2、itchflagcase0[sys,x0,str,ts]=mdlInitializeSizes;%初始化case3sys=mdlOutputs(t,x,u,n);%计算输出量case{1,2,4,9}sys=[];otherwise%出错处理error(num2str(flag))end%*******************************************************%mdlInitializeSizes:当flag为0时进行整个系统的初始化%*****************

3、**************************************function[sys,x0,str,ts]=mdlInitializeSizes()%调用函数simsizes以创建结构sizessizes=simsizes;%用初始化信息填充结构sizessizes.NumContStates=0;%无连续状态sizes.NumDiscStates=0;%无离散状态sizes.NumOutputs=1;%有一个输出量sizes.NumInputs=1;%有一个输入信号sizes.DirFee

4、dthrough=1;%输出量中含有输入量sizes.NumSampleTimes=1;%单个采样周期%根据上面的设置设定系统初始化参数sys=simsizes(sizes);%给其他返回参数赋值x0=[];%设置初始状态为零状态str=[];%将str变量设置为空字符串ts=[-1,0];%假定继承输入信号的采样周期%初始化子程序结束%*******************************************************%mdlOutputs:当flag值为3时,计算输出量3%**

5、*****************************************************functionsys=mdlOutputs(t,x,u,n)sys=n*u;%输出量计算子程序结束例12-9采用S函数来构造非线性分段函数。①利用MATLAB语言编写S函数,程序如下。function[sys,x0,str,ts]=sfunction(t,x,u,flag)switchflagcase0[sys,x0,str,ts]=mdlInitializeSizes;case3sys=mdlOut

6、puts(t,x,u);case{1,2,4,9}sys=[];otherwiseerror(['Unhandledflag=',num2str(flag)])endfunction[sys,x0,str,ts]=mdlInitializeSizessizes=simsizes;sizes.NumContStates=0;sizes.NumDiscStates=0;sizes.NumOutputs=1;sizes.NumInputs=1;sizes.DirFeedthrough=1;sizes.NumSam

7、pleTimes=1;sys=simsizes(sizes);x0=[];str=[];ts=[0,0];functionsys=mdlOutputs(t,x,u)ifu<1sys=3*sqrt(u);elseifu>=1&u<3sys=3;elseifu>=3&u<4sys=3-(u-3)^2;elseifu>=4&u<5sys=2;elseifu>=5&u<6sys=2-(u-5)^2;else3sys=1;end3

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。