- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
simulink入门
Simulink入门 什么是Simulink Simulink是MATLAB提供的实现动态系统建模和仿真的一个软件包. 它让用户把精力从编程转向模型的构造. Simulink一个很大的优点是为用户省去了许多重复的代码编写工作, Simulink的启动 首先须确定MATLAB已安装了Simulink工具箱. 在工具栏点击Simulink图标: 或在Command Window中输入 Simulink 即出现Simulink Library Browser窗口: 从中可看到Simulink基本模块库及其子库, 如Continuous, Discrete,…, Sinks, Sources等等. 子库Sources(信源)中存放了各种信号源, 如Clock(输出时间t), Constant(输出常数), Sine Wave(输出正弦波), Step(输出阶梯波)等等. 子库Sinks(信宿)中存放对数据的处理装置, 如Display(显示数据), Scope(示波器), XY Graph(用图形显示两变量的函数关系), To File(存储到文件), To Workspace(存储到Workspace), Stop Simulation(停止模拟)等等. 子库Continuous和Discrete分别存放连续和离散的函数, 如连续函数有Derivative(求导数), Integrator(积分器), State-Space(状态空间), Transfer Fcn(传递函数)等等, 离散的有Discrete Transfer Fcn(离散传递函数), Discrete Filter(离散滤波器), Discrete State-Space(离散状态空间)等等. 在Simulink Library Browser窗口中, 建立一个新模型(new model), 即打开一个新的空白模型窗口, 用鼠标左键点取所需要的模块拖到模型窗口中, 用鼠标左键在模块间建立连接线(若在已有连接线上分叉则用右键)即可. 例1 动态画圆: (1) ; (用正弦波发生器Sine Wave) 双击图标出现相应的模块参数框, 可在其中设置参数. Sine Wave中Phase(相位)为pi/2, 实际为cos t; Sine Wave1中Phase为0. (2) ; (用正弦波发生器Sine Wave和积分器Integrator) Sine Wave中Phase(相位)为pi/2, 实际为cos t; Integrator中Initial condition(初始值)为0. XY Graph中, x的范围为?1.5~1.5, y的范围为?1.2~1.2. (3) (用状态空间State-Space) State-Space中, A=[0,?1;1,0], B=[0;0], C=[1,0;0,1], D=[0;0]. Initial conditions为[1;0]. 双击XY Graph图标, 可定x的范围为?1.5~1.5, y的范围为?1.2~1.2. Scope的y刻度可右击示波器刻度区出现对话框, 进入Axes Propeties窗口确定. 显示结果如下: 例2 食饵-捕食者模型: 设食饵(如鱼, 兔等)数量为x(t), 捕食者(如鲨鱼, 狼等)数量为y(t), 有 设r = 1, d = 0.5, a = 0.1, b = 0.02, x(0) = 25, y(0) = 2. 求x(t), y(t)和y(x)的图形. 解法1 先编写m函数shier.m: function xdot=shier(t,x) r=1; d=0.5; a=0.1; b=0.02; xdot=diag([r-a*x(2), -d+b*x(1)])*x; Command Window中: ts=0:0.1:15; x0=[25,2]; [t,x]=ode45(shier,ts,x0); [t,x] plot(t,x), grid, gtext(x1(t)), gtext(x2(t)), pause, plot(x(:,1),x(:,2)), grid, xlabel(x1), ylabel(x2) 显示图形如下: 解法2 用Simulink 也可利用S-函数 (在User-Defined Functios子库中)自行定义所需要的模块, 但须为其另外编写S-函数. 例如上面的模型利
文档评论(0)