本节描述物理系统的数学表示的重要特征,以及Simscape™软件如何实现这种表示。如果你:
要求此类陈述的细节,以提高模型的保真度或模拟性能。
正在建设使用你自己的自定义的Simscape组件Simscape语言。
需要解决的Simscape模型和模拟而失败。
数学表示是物理模拟的基础。有关模拟的更多信息,请参见Simscape模拟是如何工作的。
物理系统的数学表达式包含常微分方程(常微分方程),代数方程,或两者兼而有之。
常微分方程支配的变化率系统变量包含系统变量的部分或全部时间导数。
代数方程规定了系统变量之间的函数约束,但不包含系统变量的时间导数。
没有代数约束,系统是微分的(ode)。
没有ode,系统就是代数的。
与常微分方程和代数约束,该系统是混合微分代数(拓扑)。
一种系统变量是差或代数,取决于在系统方程是否它的时间导数出现。
一个数学问题是st如果你正在寻求解决方案变化缓慢,但也有误差公差迅速变化中的其他解决方案。金宝搏官方网站僵硬的系统有很大的不同幅度的几个固有的时间尺度[1]。
一个刚性物理系统有一个或多个在一般意义上表现为“刚性”的部件,例如具有大弹簧常数的弹簧。数学上的等效包括准不可压缩流体和低电感。这类系统的某些元件或模态经常表现出高频振荡。
事件是系统状态或动力学如在时间系统发展的不连续变化;例如,阀打开,或硬停止。有关事件是如何在的Simscape语言表示的详细信息,请参阅离散事件建模。
一种零横穿是一个特定的事件类型,由数学函数改变标志的值表示。当它们检测过零事件可变步距求解程序采取较小的步骤。较小的步骤有利于进行抓拍,导致过零点的动态,但他们也模拟显著放缓。过零检测和分析帮助各种方法你罢工的仿真速度和精确度之间的平衡。有关更多信息,请参阅在模型的Simscape管理过零点。
甲的Simscape模型相当于一组表示一个或多个物理系统,物理网络方程。
假设您的物理网络是DAE系统启动:微分和代数方程以及变量的混合。
请记住,一些物理网络仅由微分方程表示。
物理网络可能包括僵硬的微分方程。
确定离散和连续的部件可能不连续变化在一个模拟世界中。
你的模型可以包含来自以下几个来源的零跨越条件:
Simscape和仿真软件金宝app®从它们各自的块库复制的块
自定义编程的块中Simscape语言
金宝appSimulink软件有管理过零事件的全局方法。有关更多信息,请参阅讨论二阶导数过零检测。
您可以在各块禁用过零检测,或在全球整个模型。过零检测通常可以提高模拟的精度,但会减慢仿真速度。
提示
如果精确的零交叉时间在您的模型中是重要的,那么保持零交叉检测启用。禁用它会导致严重的模拟误差。
除了通用的Simulink方法外,Simsca金宝apppe软件还提供了特定的工具,可以让您检测和管理模型中的零跨越:
在此之前的模拟,你可以使用统计查看器来确定模型中的潜在的过零信号。这些信号通常由运营商和包含不连续的功能,如比较运算符产生ABS
那√6
功能,等等。在仿真过程中可能的是没有这些信号,以产生过零事件或用于一个或多个这些信号中的具有多个零交叉事件。有关更多信息,请参阅查看模型统计。
在为模型记录模拟数据时,可以选择日志仿真数据选择。然后,数据日志包括模拟过程中实际的过零数据。有关更多信息,请参阅日志仿真数据。
您可以访问和分析使用的Simscape模拟过程中的过零数据记录结果浏览器。有关更多信息,请参阅关于Simscape结果资源管理器。
当sscprintzcs
在模拟过程中检测到的大约零个交叉功能的打印信息,根据记录的模拟数据。在你调用这个函数,你必须有模拟日志变量,其中包括模拟的统计数据,在当前的工作空间。欲了解更多信息和示例,请参阅sscprintzcs
。
当您准备您的模型进行实时仿真时,管理零交叉特别重要。看到减少零交叉有关此工作流的详细示例。
在使用Simscape语言为您自己的自定义块编写代码时,您可以通过在不连续条件表达式的不同实现之间切换,在模型中创建或避免零交叉条件。您可以:
使用关系操作符,它创建了零交叉条件。例如,编写运算符关系:A 创建一个零跨越条件。
使用关系函数,它不创建零交叉条件。例如,编写函数关系:lt (a, b)
不创建一个零交叉状况。有关在的Simscape语言使用时,特定的功能是否创建不连续性的更多信息,请参阅方程式
。
笔记
使用关系型功能,如lt (a, b)
在事件谓词通常会创建一个零状况。有关事件谓词的详细信息,请参阅离散事件建模。
[1] Moler, c.b.,数值计算与MATLAB,费城,工业与应用数学学会,2004,第7章
[2]维茨,P.,和Hill,W.,电子艺术,第二版,剑桥,剑桥大学出版社,1989,第2章
[3]布罗根现代控制理论,第二版,黄俊英,新泽西,普伦蒂斯霍尔,1985