出于教学目的,我需要一个“难以”用多项式近似的单个变量的连续函数,即需要幂级数中的非常高的幂才能很好地“拟合”这个函数。我打算向我的学生展示幂级数所能达到的“极限”。
我想过编造一些“嘈杂”的东西,但我没有自己动手,我只是想知道人们是否有一种标准的“困难函数”可以用来测试近似/插值算法,有点类似于那些有很多优化测试函数幼稚算法容易卡住的局部最小值。
如果这个问题格式不正确,请道歉;请怜悯一个非数学家。
出于教学目的,我需要一个“难以”用多项式近似的单个变量的连续函数,即需要幂级数中的非常高的幂才能很好地“拟合”这个函数。我打算向我的学生展示幂级数所能达到的“极限”。
我想过编造一些“嘈杂”的东西,但我没有自己动手,我只是想知道人们是否有一种标准的“困难函数”可以用来测试近似/插值算法,有点类似于那些有很多优化测试函数幼稚算法容易卡住的局部最小值。
如果这个问题格式不正确,请道歉;请怜悯一个非数学家。
为什么不简单地展示绝对值函数呢?
使用例如勒让德多项式展开的近似值有效,但非常糟糕:
泰勒展开当然在这里完全没用,总是只给出一个线性函数,要么总是减少,要么总是增加(取决于你展开的点是负的还是正的)。
这是一个病态的案例,但您始终可以求助于Weierstrass 怪物功能。它说明了一个更广泛的观点,即不平滑的函数(例如,具有扭结的函数)难以近似,因为插值误差估计需要被插值的函数多次可微。换句话说,如果你不太喜欢 Weierstrass 函数,你总是可以选择 $|x|$。
多项式在函数逼近方面非常有效 [1]。如果您至少有 Lipschitz 连续性,那么 Chebyshev 近似将收敛。当然,收敛可能很慢,这就是我们为处理非平滑函数所付出的代价。
今天,计算机的速度比编写许多数值分析书籍的日子快得多,而聪明的算法进一步提高了速度,因此不得不使用更多的术语可能不像以前那么糟糕了。
从理论的角度来看,像 Weierstrass 怪物函数这样的病态例子很有趣,但它们并不能代表大多数实际应用环境。
我认为我们应该小心,不要给我们的学生悲观的看法。好的,没有一种方法适用于所有问题。但是我们可以构建自适应方法,甚至可以基于多项式来处理这种情况。例如,Chebfun [2] 可以通过在 $x=0$ 处自动分割域来轻松近似 $|x|$。
教授用多项式逼近的困难很重要,但告诉学生我们可以构建可以处理这些问题的误差估计和自适应算法也很重要。