我想用离散时间单位步进函数执行一些符号计算,我似乎找不到内置的定义。我已经尝试了heaviside(n + 0.5)
和sym('piecewise([n < 0 , 0], [n >= 0, 1])')
。以下是一些示例代码:
syms n k
unitStep = @(n) subs(sym('piecewise([k < 0 , 0], [k >= 0, 1])'), n);
x1 = @(n) unitStep(n);
h1 = @(n) 2 .^ (-n) .* unitStep(n);
y1 = @(n) symsum(x1(k) .* h1(n - k), k, -inf, inf);
simplify(y1(n))
给出输出
piecewise([in(n, 'real'), symsum(piecewise([n < k, 0], [k <= n, 2^(k - n)]), k, 0, Inf)])
(一点也不帮助)无论我做什么,我都无法得到满意的结果。任何人都有使用单位阶梯函数评估符号总和的提示吗?我不想使用heaviside(n)
因为heaviside(0)
评估为0.5
。