当前位置: 首页 > news >正文

响应式网站与自适应网站维护中 源码

响应式网站与自适应,网站维护中 源码,wordpress 3.9 模板,会做网站开发 但是不会二次开发文章目录 前言 S-Fuction模块 电路方程模型 编写S函数 仿真验证 Tips 分析和应用 总结 前言 见《开箱报告#xff0c;Simulink Toolbox库模块使用指南#xff08;一#xff09;——powergui模块》 见《开箱报告#xff0c;Simulink Toolbox库模块使用指南#xff…文章目录 前言 S-Fuction模块 电路方程模型 编写S函数 仿真验证 Tips 分析和应用 总结 前言 见《开箱报告Simulink Toolbox库模块使用指南一——powergui模块》 见《开箱报告Simulink Toolbox库模块使用指南二——MATLAB Fuction模块》 见《开箱报告Simulink Toolbox库模块使用指南三——Simscape 电路仿真模块》 S-Fuction模块 S-Fuction模块是用户使用MATLAB、C、C语言等编写的Simulink模块是扩展Simulink模块库的一种机制。S-Fuction使用一种特殊的语法使用户能够与Simulink引擎进行交互非常接近自带库摸块与Simulink引擎之间发生的交互。 用户使用S-Fuction开发的Simulink模块可以是一种控制算法也可以是一种状态模型可以容纳连续系统、离散系统或者混合系统。如果要将S-Fuction用于代码生成用户还可以通过编写目标语言编译器TLC文件来自定义为S-Fuction生成的代码。其在Simulink Toolbox库中的位置如下图所示。 Mathworks官方Help对该模块的说明如下所示。 本文以电路建模仿真为例介绍如何利用S-Fuction搭建电路模型。 电路方程模型 这里沿用前一篇文章中的12V蓄电池给两个负载供电的电路见 《开箱报告Simulink Toolbox库模块使用指南三——Simscape 电路仿真模块》 根据欧姆定律写出该电路系统的状态方程如下 状态方程(1) t 0 12V I*(2Ω1Ω*5Ω/(1Ω5Ω)) U I*1Ω*5Ω/(1Ω5Ω) 求解得 I(A) 72/17 4.235 U(A) 60/17 3.529 状态方程(2) t pi/2 12V I*(2Ω1Ω*6Ω/(1Ω6Ω)) U I*1Ω*6Ω/(1Ω6Ω) 求解得 I(A) 21/5 4.2 U(A) 18/5 3.6 动态方程 根据前面两个稳态方程的解可以列出如下动态方程 t(S) (0 : 1000)*0.001 I(A) 72/17 |4.235-4.2|*sin(2pi * 50t pi) U(A) 60/17 |3.529-3.6|*sin(2pi * 50t) 在Matlab的命令窗口中运行该动态方程得到的电流和电压曲线与前一篇文章一致如下所示 至此可以证明该电路系统的方程模型是正确的。 编写S函数 根据官方的S-Fuction模板写出的S函数完整代码如下 function [sys,x0,str,ts,simStateCompliance] CircuitPlant(t,x,u,flag)switch flag,case 0,[sys,x0,str,ts,simStateCompliance]mdlInitializeSizes;case 1,sysmdlDerivatives(t,x,u);case 2,sysmdlUpdate(t,x,u);case 3,sysmdlOutputs(t,x,u);case 4,sysmdlGetTimeOfNextVarHit(t,x,u);case 9,sysmdlTerminate(t,x,u);otherwiseDAStudio.error(Simulink:blocks:unhandledFlag, num2str(flag)); end% % % mdlInitializeSizes % Return the sizes, initial conditions, and sample times for the S-function. % % function [sys,x0,str,ts,simStateCompliance]mdlInitializeSizessizes simsizes; sizes.NumContStates 0; sizes.NumDiscStates 3; %Number of discrete states. sizes.NumOutputs 3; %Number of outputs. sizes.NumInputs 0; %Number of inputs. sizes.DirFeedthrough 0; sizes.NumSampleTimes 1; % at least one sample time is needed sys simsizes(sizes);x0 [0;72/17;60/17]; Initial state conditions str []; ts [0.001 0]; %Discrete sample time where, [PERIOD OFFSET],PERIOD 0 OFFSET PERIOD. simStateCompliance UnknownSimState;function sysmdlDerivatives(t,x,u)sys [];% % % mdlUpdate % Handle discrete state updates, sample time hits, and major time step % requirements. % % function sysmdlUpdate(t,x,u)I 72/17 abs(4.235-4.2)*sin(2*pi * 50*t pi); U 60/17 abs(3.529-3.6)*sin(2*pi * 50*t); sys [t,I,U];% % % mdlOutputs % Return the block outputs. % % function sysmdlOutputs(t,x,u)% sys [x(1);x(2);x(2)]; sys x;function sysmdlGetTimeOfNextVarHit(t,x,u)sampleTime 1; sys t sampleTime;function sysmdlTerminate(t,x,u)sys [];仿真验证 将上述编写好的S-Fuction模块放入Simulink模型中进行验证如下所示 运行上述模型得到的电流和电压曲线也与前一篇文章一致如下所示 至此可以证明该S-Fuction模块可以较好地模拟前一篇文章中使用物理模块搭建的电路模型。 Tips S-Fuction模块的完整运行机制如下图所示。本文所举的例子是用的离散模型所以只涉及其中的主仿真步。这里需要注意的是模型初始化函数只在模型仿真开始时执行一次后面的计算输出和更新离散状态是每个仿真步都要执行一次的比如本文是0.001s执行一次。每次执行的顺序是先执行计算输出函数后执行离散状态更新函数所以当看到输出结果比输入信号延迟一个周期就是这个机制的原因。 分析和应用 S-Fuction模块在Simulink模型仿真和自动生成代码方面的应用功能非常强大主要得益于MATLAB为开发人员留出了一个扩展Simulink模块库的机制开发人员能基于该模块开发自己的模块库。项目中使用S-Fuction模块后将会给开发人员更大的发挥空间去开发特殊的模块库能够真正与自己的需求高度匹配。一方面弥补特定需求模块的空白另一方面也能对一些模块进行充分地裁剪。另外S-Fuction模块还能将一些已开发的功能固化下来便于后期的移植复用这样能使很多项目开发的代码量大大减少同时也意味着软件开发全流程的人力和时间投入大幅缩减。主要适用于有架构支撑、模块化开发的大型软件项目可以合理协调团队成员的分工合作提高代码可控性增加代码的复用率减少代码移植障碍。 总结 以上就是本人在使用S-Fuction模块时一些个人理解和分析的总结首先介绍了该模块的背景知识然后展示它的使用方法最后分析了该模块的特点和适用场景。 后续还会分享另外几个最近总结的Simulink Toolbox库模块欢迎评论区留言、点赞、收藏和关注这些鼓励和支持都将成文本人持续分享的动力。 另外上述例程使用的Demo工程可以到笔者的主页查找和下载。 版权声明原创文章转载和引用请注明出处和链接侵权必究
http://www.pierceye.com/news/188759/

相关文章:

  • 做DJ网站违法吗汕头seo网站推广
  • 上海网站建设网站宁波网站模板哪家性价比高
  • 珠海专业做网站制作做网站网站的代理算网站罪吗
  • 建设局网站简介通信建设网站
  • php做网站用什么开发工具大专软件技术工资一般多少
  • 网站建设服务承诺wordpress 博客园
  • seo综合查询站长工具关键词全网营销案例
  • 深圳专业做网站设计政务服务网站建设性建议
  • 做暧免费观看网站哪个网站可以给图片做链接
  • wordpress最好的主题东莞债务优化
  • 全国网站建设大赛网店网站设计
  • 学网站建设需要学多久wordpress火车头插件
  • wordpress 网站实例中国纪检监察报app下载
  • 网站链接dw怎么做营销推广方法
  • 觅知网 大而全的高质量素材站开发手机网站用什么好
  • 建设一个广告联盟的网站医院网站设计与实现
  • 公司网站备案必须是企业信息么网站搭建好有什么内容可以修改
  • 弄网站赚钱吗电影网站怎么做要多少钱
  • 做优化网站能以量取胜么好素材网站
  • wordpress主题网站江苏建设工程教育网
  • 网站制作 客户刁难做宠物网站赚钱吗
  • 网站突然不收录了如何形容一个网站做的好
  • 怎么建网站教程视频做网站跟推广哪家公司好
  • 怎么做网站报告四平网站公司
  • 飞扬动力网站建设支付网站建设要求
  • 达美网站建设廊坊seo扣费
  • 好享购物官方网站购物网页制作与网站开发从入门到精通
  • 坪山网站建设哪家便宜系部网站建设研究方案
  • 如何备份网站上海的招聘网站有哪些
  • 企业门户网站建设流程蝶恋花直播app下载安装