SquareRoot
MathSquareRoot 方块计算输入信号的 n 次方根。虽然以最常见的平方根(n=2)命名,但它是一个通用的根计算方块,支持立方根(n=3)以及任何其他数值根阶数。
数学模型
该方块实现以下计算:
其中:
y(t)为输出信号in(t)为输入信号n为根阶数(默认为 2.0)
Handling of Negative Inputs
对于偶数阶方根(例如 √-1),计算负数的根可能会导致问题。该方块提供了几种可配置的安全模式:
- Return Zero (默认):遇到负输入时输出
0.0。这是保证仿真稳定性最安全的选择,并会显示一次性视觉警告。 - Use Absolute Value:计算输入绝对值的根。当信号的符号与根计算无关时非常有用。
- Return NaN:返回 "Not a Number"(非数值)。请注意,该值将在系统中传播,并可能导致其他方块也输出 NaN。
输入与输出
| Direction | ID | Label | 类型 | Status |
|---|---|---|---|---|
| → In | in |
In | number | Required |
| ← Out | out |
Out | number | Output |
参数
| 参数 | Label | 类型 | 默认值 | 描述 |
|---|---|---|---|---|
rootOrder |
Root Order (n) | number | 2 |
|
negativeHandling |
Negative Input | select | zero |
|
reportWarning |
Report Warning | boolean | true |
使用示例
距离计算
根据坐标 (x, y) 计算距离:
Sum (x^2 + y^2) → SquareRoot (n=2) → Distance
流量测量
根据差压计算流体流速(其中流速 ∝ √ΔP):
PressureDifference → SquareRoot (n=2) → FlowRate说明与最佳实践
- 负输入:偶数根阶数 (n = 2, 4, 6) 对负输入会产生 NaN;请使用 "Use Absolute Value" 模式或 "Return Zero" 安全选项
- 零输入:对于任何正数阶次根均返回 0
- 根阶数 < 1:等效于将输入提高到大于 1 的幂(例如,n = 0.5 将信号平方)
- 性能:计算开销非常低;适用于实时仿真
- 数值稳定性:极小正数的方根可能产生较大的增益斜率;可考虑对接近零的输入进行限幅
相关模块
- Product: 用于通用乘法和平方计算 (n=0.5)
- Gain: 用于信号缩放
- MathFunction: 用于其他数学运算