平滑函数的两种系统方法h将是:
1.使用Hermite 插值加入函数的分段平滑部分,以使导数匹配到您满意的程度。
2.卷积你的函数h(x)具有以下形式的热核f(x)=exp{−x22σ2}2πσ2√这样,而不是与h(x)你会处理
g(x)=∫∞−∞f(x−y)h(y)dy.
这σ>0参数决定多近g是h并且通过热方程解的性质,可以保证g是无限光滑的。
第二种方法的示例
第二种方法的示例h(x)=sign(x)|x|−−√,这是不光滑的x=0, 使用σ值 0.05、0.1 和 0.01 如下图所示。

用于符号积分和绘图的 MATLAB (2019a) 代码:
syms x_1 x_2 x_int x x_hk sigma
h(x_1, x_2) = sign(x_1-x_2)*sqrt(abs(x_1-x_2))
h(x_int) = subs(h(x_1, x_2), x_1-x_2, x_int)
heat_kernel(x_hk, sigma) = exp(-(x_hk)^2/(2*sigma^2))/(sqrt(2*pi*sigma^2))
assume(sigma, {'real', 'positive'})
g(x, sigma) = int(heat_kernel(x-x_int, sigma)*h(x_int), x_int, -inf, inf)
fplot(h(x_int), [-0.4, 0.4])
hold on
fplot(g(x, 0.05), [-0.4, 0.4])
fplot(g(x, 0.1), [-0.4, 0.4])
fplot(g(x, 0.01), [-0.4, 0.4])
legend(["h(x)", "g(x, 0.05)", "g(x, 0.1)", "g(x, 0.01)"], 'Location', 'NorthEastOutside')