主要内容

heaviside

海维赛德阶跃函数

说明

H = heaviside(x) 计算 x 处的海维赛德阶跃函数(也称为单位阶跃函数);当 x < 0 时,海维赛德阶跃函数返回 0,当 x = 0 时返回 1/2,当 x > 0 时返回 1

示例

示例

全部折叠

heaviside 函数根据参量值的不同返回 0、1/2 或 1。如果参量是浮点数(不是符号对象),则 heaviside 返回浮点结果。

针对符号输入 sym(-3) 计算海维赛德阶跃函数。heaviside(x) 函数在 x < 0 时返回 0

H = heaviside(sym(-3))
H = 0

针对符号输入 sym(3) 计算海维赛德阶跃函数。heaviside(x) 函数在 x > 0 时返回 1

H = heaviside(sym(3))
H = 1

针对符号输入 sym(0) 计算海维赛德阶跃函数。heaviside(x) 函数在 x = 0 时返回 1/2

H = heaviside(sym(0))
H = 

12

对于数值输入 x = 0heaviside(x) 函数返回浮点结果。

H = heaviside(0)
H = 
0.5000

heaviside 会考虑对变量的假设。

创建一个符号变量 x 并假设它小于 0。

syms x
assume(x < 0)

针对符号输入 x 计算海维赛德阶跃函数。

H = heaviside(x)
H = 0

为了进一步的计算,请使用 syms 重新创建 x 以清除对它的假设。

syms x

针对 xx - 1 绘制海维赛德阶跃函数。

syms x
fplot(heaviside(x), [-2, 2])

Figure contains an axes object. The axes object contains an object of type functionline.

fplot(heaviside(x - 1), [-2, 2])

Figure contains an axes object. The axes object contains an object of type functionline.

针对一个符号矩阵计算海维赛德函数。当输入参量是矩阵时,heaviside 会针对每个元素计算海维赛德函数。

syms x
H = heaviside(sym([-1 0; 1/2 x]))
H = 

(0121heaviside(x))

计算涉及海维赛德函数的表达式的导数和积分。

求海维赛德函数的一阶导数。海维赛德函数的一阶导数是狄拉克 δ 函数。

syms x
diff_H = diff(heaviside(x),x)
diff_H = δdirac(x)

计算积分 -e-xH(x) dx

syms x
int_H = int(exp(-x)*heaviside(x),x,-Inf,Inf)
int_H = 1

求海维赛德函数的 fourier 变换。

syms x
F = fourier(heaviside(x))
F = 

πδdirac(w)-iw

求海维赛德函数的 laplace 变换。

syms x
L = laplace(heaviside(x))
L = 

1s

海维赛德函数在原点处的默认值为 1/2

H = heaviside(sym(0))
H = 

12

海维赛德函数在原点处的其他常见值是 0 和 1。要改变 heaviside 在原点处的值,请使用 sympref 并指定 "HeavisideAtOrigin" 设置的值。存储由 sympref 返回的先前参数值,以便之后可以恢复它。

oldparam = sympref("HeavisideAtOrigin",1);

检查 heaviside0 处的新值。

H = heaviside(sym(0))
H = 1

使用 sympref 进行的符号设置会在当前和以后的 MATLAB® 会话中持续有效。要恢复 heaviside 在原点处的先前值,请使用存储在 oldparam 中的值。

sympref("HeavisideAtOrigin",oldparam);

您也可以通过使用 "default" 设置恢复 "HeavisideAtOrigin" 的默认值。

sympref("HeavisideAtOrigin","default");

输入参数

全部折叠

输入,指定为数字、符号数、符号变量、符号表达式、符号函数、符号向量或符号矩阵。

版本历史记录

在 R2006a 之前推出

另请参阅

| |