BlockWerk 文档
√

SquareRoot

Math

SquareRoot 方块计算输入信号的 n 次方根。虽然以最常见的平方根(n=2)命名,但它是一个通用的根计算方块,支持立方根(n=3)以及任何其他数值根阶数。

在 BlockWerk 中仿真

浏览器即开即用的交互式仿真环境 — 无需安装,由 WebAssembly 强力驱动。

在 BlockWerk 中仿真 →

数学模型

该方块实现以下计算:

y(t)=u(t)ny(t) = \sqrt[n]{u(t)}

其中:

  • y(t) 为输出信号
  • in(t) 为输入信号
  • n 为根阶数(默认为 2.0)

Handling of Negative Inputs

对于偶数阶方根(例如 √-1),计算负数的根可能会导致问题。该方块提供了几种可配置的安全模式:

  1. Return Zero (默认):遇到负输入时输出 0.0。这是保证仿真稳定性最安全的选择,并会显示一次性视觉警告。
  2. Use Absolute Value:计算输入绝对值的根。当信号的符号与根计算无关时非常有用。
  3. 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: 用于其他数学运算