matlab在数学的仿真实例,数学建模-新手入门simulink仿真实例

《数学建模-新手入门simulink仿真实例》由会员分享,可在线阅读,更多相关《数学建模-新手入门simulink仿真实例(19页珍藏版)》请在人人文库网上搜索。

1、Simulink入门 什么是SimulinkSimulink是MATLAB提供的实现动态系统建模和仿真的一个软件包.它让用户把精力从编程转向模型的构造.Simulink一个很大的优点是为用户省去了许多重复的代码编写工作,17Simulink的启动 首先须确定MATLAB已安装了Simulink工具箱.在工具栏点击Simulink图标:Simulink图标 或在Command Window中输入 Simulink即出现Simulink Library Browser窗口:从中可看到Simulink基本模块库及其子库, 如Continuous, Discrete, Sinks, Sources 等。

2、等.子库Sources(信源)中存放了各种信号源, 如Clock(输出时间t), Constant(输出常数), Sine Wave(输出正弦波), Step(输出阶梯波) 等等.子库Sinks(信宿)中存放对数据的处理装置, 如Display(显示数据), Scope(示波器), XY Graph(用图形显示两变量的函数关系), To File(存储到文件), To Workspace(存储到Workspace), Stop Simulation(停止模拟)等等.子库Continuous和Discrete分别存放连续和离散的函数, 如连续函数有Derivative(求导数), Integra。

3、tor(积分器), State-Space(状态空间), Transfer Fcn( 传递函数) 等等, 离散的有D i s c r e t e Transfer Fcn( 离 散 传 递 函 数 ), Discrete Filter( 离散滤波器), Discrete State- Space(离散状态空间)等等.在Simulink Library Browser窗口中, 建立一个新模型(new model), 即打开一个新的空白模型窗口, 用鼠标左键点取所需要的模块拖到模型窗口中, 用鼠标左键在模块间建立连接线(若在已有连接线上分叉则用右键)即可.例1 动态画圆: (1) x = cost。

4、, y = sin t; (用正弦波发生器Sine Wave)双击图标出现相应的模块参数框,可在其中设置 参数.SineWave中Phase(相位)为pi/2,实际为cost;Sine Wave1中Phase为0.x = cost, y = x (t)dtt(2) ; ( 用正弦波发生器Sine Wave和积分 器Integrator)0SineWave中Phase(相位)为pi/2,实际为cost;Integrator中Initial condition(初始值)为0.XY Graph中, x的范围为-1.51.5, y的范围为-1.21.2.x& = - y, x(0) = 1(3) y&。

5、 = x,y(0) = 0(用状态空间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.51.5, y的范围为-1.21.2. Scope的y刻度可右击示波器刻度区出现对话框, 进入Axes Propeties窗口确定.显示结果如下: 例2食饵-捕食者模型:设食饵(如鱼, 兔等)数量为x(t), 捕食者 (如鲨鱼, 狼等)数量为y(t), 有 x& = x(r - ay) x& r-ay0 x &或 = y&0-,y = y(-。

6、d+ bx) d +bxy设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,xplot(t,x), grid, gtext(x1(t), gtext(x2(t), pause,。

7、plot(x(:,1),x(:,2), grid, xlabel(x1), ylabel(x2)显示图形如下: 解法2用Simulink也可利用S-函数 (在User-Defined Functios 子库中)自行定义所需要的模块, 但须为其另外编写S-函数. 例如上面的模型利用S-函数可简化为右图.其中S-函数模块要调用m文件shier_s.m, 调用方法是双击S-Function图标, 在出现的对话框中S- Function一栏中填写shier_s(不必加扩展名m). 注意此m文件须在MATLAB的路径中.S-函数有 专门的模板sfuntmp1.m, 根据其说明编写起来并不 难.(注意, 。

8、模型和S-函数文件不要同名.)XY Graph和Scope显示的结果如下: 作业 种群竞争模型:两种群在同一环境中生存, 消耗同一资源, 其数学模型为 &x = rx(1 -x- sy ),11n2&y= r2x1ny(1 -s21-y ).nn2其中x, y分别为甲, 乙两种群的数量, r1, r2为固有增长率, n1, n2为最大容量. s1表示乙种群单位数量所消耗资源相对于甲种群单位数量所消耗资源的倍数, s2意义类似, 不过是甲相对于乙. 令 r1= r2= 1, n1 = n2 = 100, s1 = 0.5, s2 = 2, x0 = y0 =10.对x(t), y(t)进行模拟, 研究其发展趋势.例3 弹跳的皮球(help/demos/simulink中的一个例子):17tv(t) = 15+ gdt,g = -9.81,数学模型: h(t)= 10 +0tv(t)dt,0when h = 0, v -0.8v.结果如下:上图为v(t), 下图为h(t).18。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值