- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB中基于SFUNTIN的SIMULINK自定义模块实现.doc
MATLAB中基于S-FUNCTION的SIMULINK自定义模块
实现
:2006-09-22?
刘佑祥(1946-),男,湖北武汉人, 武汉科技大学中南分校信息工程学院副教授。?
(武汉科技大学中南分校信息工程学院,湖北武
汉 430223 ) ?
本文分析了在MATLAB中实现SIMULINK 自定义函数的重要意义,系统地阐述了通过 S-FUNCTION实现SIMULINK自定义模块的两种途径, 以及基于这两种途径的详细实现方案,并针对实际应 用给出了详细设计实例。?
关键词:MATLAB; SIMULINK;自定义模块; S-FUNCTION ??
1 MATLAB 及 SIMULINK 简介?
1.1功能强大的科学计算软件MATLAB?
MATLAB是Matrix Laboratory的缩写,顾名思义,
其基本数据单位是矩阵。所以,它的指令表达式与数
学、工程中常用的形式十分相似,用来求解计算问题 要比用C,FORTRAN等语言完成相同的事情简捷得多, 因此早期主要用于现代控制中复杂的矩阵、向量的各 种运算。由于MATLAB提供了强大的矩阵处理和绘图 功能,很多专家因此在自己擅长的领域里用它编写了 许多专门的MATLAB工具包,如控制系统工具包、系 统辨识工具包、信号处理工具包、鲁棒控制工具包、 最优化工具包等等几十种工具包。由于MATLAB功能 的不断扩展,现在的MATLAB软件除具备卓越的数值 计算能力外,还提供了专业水平的符号计算,文字处 理,可视化建模仿真和实时控制等功能。所以今天的 MATLAB己不仅仅局限与现代控制系统分析和综合应 用,它己是一种包罗众多学科的功能强大的“技术计 算语言”。?
1.2使用MATLAB进行程序设计的突出优点? 和传统的科学计算软件语言相比,MATLAB语言
具有以下的突出优点:?
语言简洁紧凑,使用方便灵活,库函数极其丰富。
MATLAB程序书写形式自由,能够利用丰富的库函数 避开繁杂的子程序编程,压缩了一切不必要的编程工 作。由于库函数都由本领域的专家编写,用户不必担
心函数的可靠性。?
运算符丰富。由于MATLAB是用C语言编写的, MATLAB提供了和C语言几乎一样多的运算符,灵活 使用MATLAB的运算符将使程序变得极为简短。?
流程控制功能强大。MATLAB既具有结构化的控 制语句(如for循环,while循环,break语句和if语 句),又有面向对象编程的特性。?
程序限制不严格,程序设计自由度大。例如,在 MATLAB里,用户无需对矩阵预先定义就可使用。?
程序的可移植性很好。写好的MATLAB代码基本 上不做修改就可以在各种型号的计算机和操作系统上 运行。?
图形功能强大。在FORTRAN和C语言里,绘图都 很不容易,但在MATLAB里,数据的可视化非常简单。 MATLAB还具有较强的编辑图形界面的能力。?
源程序的开放性。开放性也许是MATLAB最受人 们欢迎的特点。除内部函数以外,所有MATLAB的核 心文件和工具箱文件都是可读可改的源文件,用户可 通过对源文件的修改以及加入自己的文件构成新的工 具箱。?
1.3建模与仿真集成环境SIMUUNK?
SIMULINK是MATLAB最重要的组件之一,它为用
户提供了一个动态系统建模、仿真和综合分析的集成 环境。在该环境中,无需大量书写程序,而只需要通 过简单直观的鼠标操作,就可构造出复杂的系统。 SIMULINK具有适应面广、结构和流程清晰及仿真精细、 贴近实际、效率高、灵活等优点,因此SIMULINK己 被广泛应用于控制理论和数字信号处理的复杂仿真和 设计。同时有大量的第三方软件和硬件可应用于或被 要求应用于SIMULINK。?
2自定义模块设计在SIMULINK?建模中的重要意 义
前文中已经详细介绍了 MATLAB/SIMULINK具有的
强大功能和广泛应用,在本节我们将讨论使用 SIMULINK建模时自定义模块设计的重要性。事实上任 何功能强大的软件包或者软件开发工具,在设计的时 候都不可能面面俱到,考虑到所有实际应用中的需求。 即使软件设计的时候已经考虑到并实现了所有已知的 应用要求,随着时间的推移,在应用中也可能产生新 的要求。因此,当现有的SIMULINK模块无法满足用户 的仿真建模要求时,自定义模块设计就显得尤其重要。
自定义模块设计的实现意味着用户可以根据其实际要 求创建最适用的仿真用模块,从而大大提高建模的效 率与仿真的准确性。?
其次,在实现一些特殊功能模块时,即使在 SIMULINK本身自带模块可以满足设计要求的情况下, 使用自定义模块设计也会更加高效。SIMULINK的自带 模块一般具有很高的通用性和基本性,用户可以用组 合的方式将多个基本模块搭建成所需的复杂模块,然 而这种搭
文档评论(0)