- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
运行仿真,在示波器中观察结果波形,图7-15(b)中示波器上面的窗口显示的是输入信号波形,下面的窗口显示的是S-函数的输出波形。 (a) (b) 图7-15 用户也可以封装S-Function模块,这样可以在模块图标上标明该函数的功能,如在封装编辑器的Icon选项页内输入绘制命令:disp(Unit Delay),那么所得S-Function模块如图7-16所示。 图7-16 sys = simsizes(sizes); x0 = 0; str = [ ]; ts = [0.1 0]; % Sample period of 0.1 seconds (10Hz) % end mdlInitializeSizes %============================================================ % mdlUpdate % Handle discrete state updates, sample time hits, and major time step requirements. %============================================================ function sys = mdlUpdate(t, x, u) sys = u; %end mdlUpdate %============================================= % mdlOutputs % Return the output vector for the S-function %============================================= function sys = mdlOutputs(t, x, u) sys = x; %end mdlOutputs 例7-6 人口系统S-函数。 编写一个S-函数描述人口的动态变化。设繁殖率为r,资源为k,初始人口数量为init,则人口变化规律为 系统模型如图7-17所示。 图7-17 修改S-函数的第一行: function [sys, x0, str, ts] = sfun_population(t, x, u, flag, r, k, init) 对子函数的调用为: case 0, [sys, x0, str, ts] = mdlInitializeSizes(init); case 2, sys = mdlUpdate(t, x, u, r, k); 在这个例子中,p为状态,输出等于状态,于是,更新函数和输出函数为: function sys = mdlUpdate(t, x, u, r, k) sys = [r*x*(1-x/k)]; function sys = mdlOutputs(t, x, u) sys = [x]; 打开S-Function对话框,设置S-function name参数为sfun_population,设置S-function parameter参数值为1.05、1e6、100000,如图7-18(a)所示。选择变步长ode45求解器,仿真100个时间单位,运行仿真后得到的结果曲线如图7-18(b)所示。 (a) 图7-18 (b) 图7-18 下面是sfun_population函数文件完整的M代码: function [sys,x0,str,ts] = sfun_population(t, x, u, flag, r, K, init) %population dynamics. Rate(r), resources(K) and initial population %(init) are user inputs. switch flag, case 0, [sys,x0,str,ts] = mdlInitializeSizes(init); case 1, sys = mdlDerivatives(t, x, u); case 2, sys = mdlUpdate(t, x, u, r, K); case 3, sys = mdlOutputs(t, x, u); case 4, sys = mdlGetTimeOfNext
您可能关注的文档
- 灯泡贯流式机组—水机部分研讨.ppt
- 第2章,试样研讨.ppt
- 登革热及其防治_新研讨.ppt
- 登革热及其防治研讨.ppt
- 第2章:上皮组织研讨.ppt
- 第6章振幅调制、解调及混频-2论述.ppt
- 第2章:以太网交换技术研讨.ppt
- 第2章__Word_2003的排版操作研讨.ppt
- 第6章振幅调制解调及混频1论述.ppt
- 房屋建筑学001讲课.ppt
- 8 黄山奇石(第二课时)课件(共22张PPT).pptx
- 22《纸船和风筝》教学课件(共31张PPT).pptx
- 17 松鼠 课件(共23张PPT).pptx
- 23《海底世界》课件(共28张PPT).pptx
- 21《大自然的声音》课件(共18张PPT).pptx
- 第12课《词四首——江城子 密州出猎》课件 2025—2026学年统编版语文九年级下册.pptx
- 第2课《济南的冬天》课件(共42张PPT) 2024—2025学年统编版语文七年级上册.pptx
- 17 跳水 第二课时 课件(共18张PPT).pptx
- 第六单元课外古诗词诵读《过松源晨炊漆公、约客》课件 统编版语文七年级下册.pptx
- 统编版六年级语文上册 22《文言文二则》课件(共27张PPT).pptx
原创力文档


文档评论(0)