刘卫国全套配套课件matlab程序设计与应用第3版第12章matlab simulink系统仿真源程序

上传人:E**** 文档编号:100442022 上传时间:2019-09-23 格式:DOC 页数:3 大小:70KB
返回 下载 相关 举报
刘卫国全套配套课件matlab程序设计与应用第3版第12章matlab simulink系统仿真源程序_第1页
第1页 / 共3页
刘卫国全套配套课件matlab程序设计与应用第3版第12章matlab simulink系统仿真源程序_第2页
第2页 / 共3页
刘卫国全套配套课件matlab程序设计与应用第3版第12章matlab simulink系统仿真源程序_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《刘卫国全套配套课件matlab程序设计与应用第3版第12章matlab simulink系统仿真源程序》由会员分享,可在线阅读,更多相关《刘卫国全套配套课件matlab程序设计与应用第3版第12章matlab simulink系统仿真源程序(3页珍藏版)》请在金锄头文库上搜索。

1、第12章 MATLAB Simulink系统仿真例12-8 采用S函数实现y=nx,即把一个输入信号放大n倍。 利用MATLAB语言编写S函数,程序如下。%*%S函数timesn.m,其输出是输入的n倍%*function sys,x0,str,ts=timesn(t,x,u,flag,n)switch flag case 0 sys,x0,str,ts=mdlInitializeSizes; %初始化 case 3 sys=mdlOutputs(t,x,u,n); %计算输出量 case 1,2,4,9 sys=; otherwise %出错处理 error(num2str(flag)end

2、%*%mdlInitializeSizes:当flag为0时进行整个系统的初始化%*function sys,x0,str,ts=mdlInitializeSizes()%调用函数simsizes以创建结构sizessizes=simsizes;%用初始化信息填充结构sizessizes.NumContStates=0; %无连续状态sizes.NumDiscStates=0; %无离散状态sizes.NumOutputs=1; %有一个输出量sizes.NumInputs=1; %有一个输入信号sizes.DirFeedthrough=1; %输出量中含有输入量sizes.NumSample

3、Times=1; %单个采样周期%根据上面的设置设定系统初始化参数sys=simsizes(sizes);%给其他返回参数赋值x0=; %设置初始状态为零状态str=; %将str变量设置为空字符串ts=-1,0; %假定继承输入信号的采样周期%初始化子程序结束%*%mdlOutputs:当flag值为3时,计算输出量%*function sys=mdlOutputs(t,x,u,n)sys=n*u;%输出量计算子程序结束例12-9 采用S函数来构造非线性分段函数。 利用MATLAB语言编写S函数,程序如下。function sys,x0,str,ts=sfunction(t,x,u,flag

4、)switch flag case 0 sys,x0,str,ts=mdlInitializeSizes; case 3 sys=mdlOutputs(t,x,u); case 1,2,4,9 sys=; otherwise error(Unhandled flag=,num2str(flag)endfunctionsys,x0,str,ts=mdlInitializeSizessizes=simsizes;sizes.NumContStates=0;sizes.NumDiscStates=0;sizes.NumOutputs=1;sizes.NumInputs=1;sizes.DirFeedthrough=1;sizes.NumSampleTimes=1;sys=simsizes(sizes);x0=;str=;ts=0,0;function sys=mdlOutputs(t,x,u)if u=1&u=3&u=4&u=5&u6 sys=2-(u-5)2;else sys=1;end3

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号