与普通 simulink 信号相比,simscape 物理信号的附加值是多少?据我所知,从功能的角度来看,这两种信号没有区别:我可以为这两种类型添加单元,它们都有流向,并且它们都有类似的功能块,比如加法、减法。 .. 仅对于物理信号,可用的块类型非常有限。为什么 matlab 的家伙不只使用普通的 simulink 线而不是物理信号?
3 回答
与 Simulink 信号不同,物理信号具有与之关联的单位。这意味着它们遵循许多规则,例如确保使用正确的单位(例如,您不能添加kg
and m/s
)。从文档中:
使用物理信号端口
以下规则适用于物理信号端口:
您可以使用常规连接线将物理信号端口连接到其他物理信号端口,类似于 Simulink 信号连接。这些连接线在 Simscape 模块之间传输物理信号。
您可以通过特殊的转换器模块将物理信号端口连接到 Simulink 端口。使用 Simulink-PS Converter 模块将 Simulink 输出端口连接到物理信号输入端口。使用 PS-Simulink Converter 模块将物理信号输出端口连接到 Simulink 输入端口。
物理信号可以有与之关联的单位。Simscape 模块对话框允许您在适当的情况下指定单位以及参数值。使用转换器块将单位与输入信号相关联,并指定所需的输出信号单位。
Simscape 中的任何传感器模块(在任何物理域中)都将输出物理信号。然后,您可以将其转换为普通的 Simulink 以提供给您的控制器。类似地,Simscape 中的任何源模块(在任何物理域中)都将物理信号作为输入。
我建议您阅读Simscape 产品页面
尤其是,
Simscape 组件代表物理元素,例如泵、电机和运算放大器。模型中连接这些组件的线路对应于实际系统中传输功率的物理连接。
伴随该描述的是下图,它显示了 Simscape 模型如何比使用标准信号的模型更直观地构建。这意味着模型对例如可能没有 comp-sci 背景的工程师来说更易于维护和更清晰。
让我们深入研究一下什么是“物理连接”。
[Simscape] 采用物理网络方法,它不同于标准 Simulink 建模方法,特别适合模拟由真实物理组件组成的系统。
[...]
每个系统都由功能元素组成,这些功能元素通过端口交换能量而相互影响。
你在你的问题中说这两种方法都有一个流动方向。这是错误的!
Simscape 模块尝试平衡入口和出口之间的能量。例如,流体系统中的固定孔可能在一侧具有高压。Simscape 将尝试解决每次迭代的压力平衡问题。如果不是 Simscape,您将需要一些自定义 Simulink 子系统来实现此目的。
与普通 simulink 信号相比,simscape 物理信号的附加值是多少?
您认为 Simscape 物理信号提供了什么?是一个数字吗?你如何解决一个只有位置的质量-弹簧-阻尼器系统?它的位置和它的速度和它的加速度。
我可以为这两种类型添加单位
不,你不能。您可以在 Simulink 中放入任何您想要的东西。您无需对 Simscape 中的物理信号中的内容进行任何选择。您可以在信号连接的块中指定单位,但您无法选择管道本身承载的内容。
他们都有一个流动方向
不,他们没有。你的头部和躯干是相连的。这没有方向性。他们只是连接在一起。物理信号同样只是表明(事物)是物理连接的。再次,质量-弹簧-阻尼系统:如果阻尼器指向质量,弹簧指向质量,那么阻尼器是否有可能影响弹簧?是的,当然。阻尼器影响弹簧,因为阻尼器影响质量,质量影响弹簧。
弹簧影响质量,质量影响弹簧。信号是双向的。您将信号方向性与运动链混淆了。
它们都具有相似的功能块,例如加法,减法
如果您在时速 30 英里的火车上,并且您以 3 英里/小时的速度向前行走,那么您相对于世界坐标系的速度有多快?如果你倒着走怎么办?物理信号的加减是有物理意义的。
[对于] 物理信号 [功能块] 的可用类型非常有限
你认为他们缺少什么?您能否描述一下该功能块的物理意义?
为什么 matlab 的家伙不只使用普通的 simulink 线而不是物理信号?
因为他们不一样。最大的一点可能是 Simscape 是信号 + 导数 + 二阶导数,但它们只是在概念上有所不同。Simulink 是一种编写代码的简单方法 - 执行此步骤、沿箭头移动、执行下一步等。 Simscape 是物理系统的图形表示。物理信号线只是表明事物已连接。系统同时得到解决。