- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 通用数字仿真程序设计 8.1 概述 对于一个简单系统,可以使用前几章讲述的方法,自己编制专用的仿真程序。如果对每个系统都求状态方程、差分方程及编制程序等,对于工程和科研来说是很不方便的,既浪费时间,又容易出错。由于一般控制系统都是用微分方程或框图来描述,可以编制一些通用的仿真程序,只要送入不同的参数即可进行不同系统的仿真。这样,可减少辅助工作量,增加仿真结果的可靠性,大大提高了仿真的工作效率。 通用仿真程序一般应该达到以下几点要求: 1.使用方便 (1)容易操作,输入参数、修改参数方便; (2)对原控制系统的预加工越少越好; (3)输出结果形式直观,并应尽可能减少用户对输出结果的预测(如输出可能的最大值等); (4)通用仿真程序应有操作提示、出错提示,从事专业的使用者不需要经过培训就可以使用; (5)程序中的各种功能可以重复选择等等。 要达到上述要求,主要取决于所采用的人机交互技术,即人机会话方式。 2.通用性强 通用性指的是程序的适应性。一般来说,仿真软件的通用性强,则使用比较麻烦;针对性强,则在规定的领域内,可给用户带来更多方便。因此,在保证用户使用方便的前提下,程序的适用面越广越好。实际上,设计通用仿真程序时,总是有一定的针对性的。 根据系统类型设计的通用仿真程序有:连续系统仿真程序、采样系统仿真程序、连续-采样系统仿真程序、离散事件系统仿真程序、偏微分方程描述的系统仿真程序等。也可根据行业特点设计通用仿真程序,例如导弹系统仿真程序、宇航系统仿真程序、热工系统仿真程序等。 3.仿真精度高 由前面分析已经知道,仿真精度取决于仿真算法及所选用的计算步长。因此,为了保证仿真精度,在通用的仿真程序里要选用具有较高精度的仿真算法,比如,四阶龙格-库塔法、四阶阿达姆斯法等。但这也带来另外一个问题,有些系统仿真时,并不要求精度很高,而要求仿真速度较快,这样所选择的高阶算法就不适用了。为了克服这种缺点,在通用程序里可以设置多种仿真算法,仿真时由用户自己选定。 8.2 面向微分方程的通用仿真程序 在工程实际中,有些系统直接用状态方程或微分方程描述,多入多出线性定常系统都可以描述成形如式(8-1)的状态方程或一阶微分方程组的形式。 (8-1) 式中:X为n维状态向量;Y为m维输出向量;U为r维输入向量;A为n×n维状态常系数矩阵;B为n×r维输入常系数矩阵;C为m×n维输出常系数矩阵;D为m×r维传递常系数矩阵。 对于其他形式描述的线性定常系统 (如传递函数或高阶微分方程等 ),可以采用本书第二章中的方法转换成如式(8-1)的标准形式。 为了使这类系统能直接进行仿真,应设计面向微分方程或面向状态方程的通用仿真程序。 8.2.1 程序设计思想 通用程序结构与专用程序结构形式类似,都是由初始化、输入参数、仿真运行、输出结果这四部分组成。与专用程序不同的是,通用程序不是用来仿真某个特定的系统,而是对在一定范围内各种不同的系统都能进行仿真。这样,程序设计存在下列特殊性: 1.通用程序的参数描述 通用程序中应该设置可变的内存区,来适应不同系统的描述。包括状态变量和中间变量的向量、系数的矩阵等,都要以程序变量的形式描述。还要定义相应的维数变量,根据这些维数来为状态变量、中间变量以及系数矩阵分配内存区。实际上,在通用程序中,应该尽可能不直接使用常数,而都使用程序变量描述,这样可以让用户通过人机交互界面部分的程序来设置或修改这些程序变量。对内存区的控制应该考虑初始化、赋值、更新、释放等问题。 2.人机交互界面部分 通用程序中应该有友好的人机交互界面,一方面便于用户可以设置各项参数和维数等;另一方面要能够较好显示仿真结果,以及对仿真结果进行分析。人机交互界面中应该尽可能提供输入或输出的提示信息、用户操作失误的防错措施等。 3.程序运行控制 通用程序设计应该考虑运行控制问题。首先,从结构上看,程序应该是可以重复使用的,因此一次仿真结束后,用户应该能够选择是终止程序运行,还是返回修改参数再次仿真。其次,在仿真过程中,特别是实时仿真过程中,用户应该能够随时终止仿真过程。此外,在运行过程中需要避免非法的运算,如被零除、超出计算机最大值或陷入死循环等问题。 8.2.2 程序设计举例 这里为了突出程序的通用性设计,我们选择简单的欧拉法作为本例中的仿真算法,程序设计框图如图8.1所示。其他仿真算法的设计与此类似。程序中主要的变量记号与式(8-1)中一致。由于篇幅所限,程序
您可能关注的文档
最近下载
- 2025至2030稀土永磁材料行业发展趋势分析与未来投资战略咨询研究报告.docx
- 高考物理一轮复习重难点逐个突破专题81电磁感应中的单、双棒问题(原卷版+解析).docx VIP
- 部编五年级上册语文单元分析.pdf VIP
- 模拟退火算法课件.pptx VIP
- 2025至2030中国钕稀土磁铁行业发展趋势分析与未来投资战略咨询研究报告.docx VIP
- 2025年安徽高考思想政治真题试卷完全解读(含试卷分析与备考策略).docx VIP
- 2025至2030中国MRI磁铁行业发展趋势分析与未来投资战略咨询研究报告.docx VIP
- 水平三新课标体育与健康教案.pdf VIP
- 《立足课标与课本 科学备战》2025安徽省中考化学复习 策略.pptx
- 土石坝安全监测技术规范.pdf VIP
文档评论(0)