今天学到了一个新的名词,Runge现象。1901年,Carl David Tolmé Runge意外地发现,用差值插值多项式逼近函数f(x)=1/(1+25x^2)时出现了一些反常的现象。如图,灰色的粗线就是Runge函数在[-1,1]上的图象。蓝色虚线是过[-1,1]上的6个等距点所得到的5次多项式,红色虚线是过[-1,1]上的10个等距点所得到的9次多项式。可以看到,当次数变高时,插值多项式反而变得更不准确。

连续函数f(x)满足f(0)=0且f(1)=0。证明,总能在[0,1]中找到两个数a和b满足b-a=1/2且f(a)=f(b)。换句话说,我们总能画出一条长为1/2的水平线段,它的两个端点都在函数f(x)上。
这个证明再次用到了我们上次提及的零点定理。考虑f(1/2)的值,如果它也等于0,我们的问题就直接解决了。无妨设f(1/2)>0,那么考虑f(x+1/2)-f(x)的值:当x=0时,该值为一个正数;但当x=1/2时,这个值变成了一个负数。这表明,在x从0增长到1/2的过程中,一定有某一刻使得f(x+1/2)-f(x)恰好为0。
我们接下来的问题是,除了长为1/2的横线段始终存在以外,还有哪些长度值具有相同的性质?下面我们证明,对任意一个正整数n,长为1/n的横线段也总是存在的。
我一直很喜欢有各种惊异性质的奇怪函数,比如阶梯状的连续函数、只在一点连续的函数、任意小的区间所对应的值域都是整个实数域的函数等等。在这里面,最令人吃惊的是恐怕要数在平面上处处稠密的单值函数(其实前面那个函数显然也有这样的性质)。这样的函数打破了一维和二维之间的界线,启发人们重新思考稠密性的意义。不过,有人提到,这两个函数之所以在平面上稠密,是因为它们在平行于x轴的直线上都是稠密的。我们自然开始设想,有不有可能在平面上找到这样一个点集,它在平面上处处稠密,但在任意一条平行于坐标轴的直线上都无处稠密呢?
这是可以办到的。为了简便起见,我们只考虑平面区域[0,1]×[0,1]上的点集。让我们考虑由所有满足以下条件的点(x,y)所组成的点集:x和y都是有限小数,并且小数位数是相同的。例如,点(0.0516, 0.1025)就属于这个点集,但(0.23, 0.1001)就不属于这个点集,(1/3, π/6)就更不属于该点集了。显然,对于任何一个有限小数x',直线x=x'上都只有有限多个点;类似地,对于任意一个有限小数y',直线y=y'上都只有有限多个点。因此,该点集在所有平行于坐标轴的直线上都无处稠密。有趣的是,该点集在整个平面区域内却处处稠密。在任意小的区间x'-ε≤x≤x'+ε,y'-ε≤y≤y'+ε中,总存在一对小数位数相同的x和y。我们只需要写出一个比ε更小的有限小数λ,然后取(x'+λ, y'+λ)(只保留和λ相同的位数),则该点必然在前面所说的范围内。
首先呢,让我们来一个牛B函数大回顾。这下我不知道要赚多少的PV。你能否构造一个函数f(x),使得:
它是一个阶梯状的连续函数?
它是除常函数之外的没有最小正周期的周期函数?
该函数只在一点连续?
该函数在[0,1]和(0,1)之间形成一一对应?
该函数某一点导数为正,但该点邻域不构成单增区间?
平面上任意小的圆内均包含函数上的点?
另外还有一些可能是众所周知(所以没在Blog里写过)的函数,比如处处连续但处处不可导的函数、在有理点处处不连续在无理点处处连续的函数等等。
好了,现在呢,又一个牛B东西出现了。你能不能想出这样一个函数f,它的定义域和值域都是R,并且对于任意小的区间l=(u,v),这个函数都能把(u,v)满射到整个R上。换句话说,是否存在这样的函数f(x),对于任意一个实数t以及任意一个区间(u,v),总存在一个x满足u<x<v且f(x)=t。
有人突然问到我,有不有可能构造一个函数,它只在一个点连续,其余地方处处不连续。函数构造是一个非常诱人的问题,我非常喜欢那些具有各种不可思议的性质的函数,那些令人吃惊的特性往往违背了大多数人的直觉和常识,这些都是茶余饭后闲谈的绝佳话题。前面提到的这个问题就是一个很有趣的问题。永远不要想当然地以为只在一点连续的函数不存在,各种怪相函数可谓无奇不有。仔细考虑了一下,我想这个函数应该和Dirichlet函数有点联系吧,毕竟很多与连续性相关的函数其原型都是Dirichlet函数,比如满足“无理点处处连续、有理点处处不连续”的爆米花函数就有Dirichlet函数的影子。然后我就突然想到,我彻底火星了,而且还是超级乌龙火星——这个玩意儿我自己还在Blog上写过,只是当时我并没注意到罢了。我曾经在描述Hilbert曲线时写到:
你知道吗,除了常函数之外还存在其它没有最小正周期的周期函数。考虑一个这样的函数:它的定义域为全体实数,当x为有理数时f(x)=1,当x为无理数时f(x)=0。显然,任何有理数都是这个函数的一个
最小正周期,因为一个有理数加有理数还是有理数,而一个无理数加有理数仍然是无理数。因此,该函数的最小正周期可以任意小。如果非要画出它的图象,大致看上去就是两根直线。请问这个函数是连续函数吗?如果把这个函数改一下,当x为无理数时f(x)=0,当x为有理数时f(x)=x,那新的函数是连续函数吗?
…………
有了Cauchy定义,回过头来看前面的问题,我们可以推出:第一个函数在任何一点都不连续,因为当ε< 1时,δ范围内总存在至少一个点跳出了ε的范围;第二个函数只在x=0处是连续的,因为此时不管ε是多少,只需要δ比ε小一点就可以满足ε-δ定义了。
类似地,我们可以扩展出只在两个点、只在三个点连续的函数。只需把有理点上的f(x)=x换成f(x)=(x-a)(x-b)(x-c),我们便得到一个只在a, b, c三点连续的函数。

刚才在网上发现了上面这张猛图。急着想验证一下,但不知道Mathematica如何画极坐标的隐函数,于是写了一个Free Pascal的小程序。大家也可以试着把这个小程序粘贴到Free Pascal里运行一下看看。
查看更多 »
你认为是否有可能存在这样一个函数f:在平面上随便画一个圆,圆里面总能够找到函数图像上的一个点?继续看下去前,不妨先仔细思考一下。
为了说明任一圆内都包含函数上的点,我们只需要说明对于平面上任意给定点(x,y),对于任意小的d都能在函数上找到一点,使得其横坐标落在x±d的范围内且纵坐标落在y±d内。这样的话,任意给出一个圆后,我都能保证圆的内接正方形里有点。
我们构造这个函数f的基本思路是,构造一个将全体有理数映射到全体有理数的函数。注意到有理数是可数的,我们可以用这里的方法将全体有理数和自然数建立一一对应关系。也就是说,我们有了一个定义域为全体自然数、值域为全体有理数的一对一函数R(x),它所对应的函数值是第x个有理数。下面我们开始着手定义我们要求的函数f(x)。函数f(x)的定义域是全体有理数,定义域里的每个x都可以表示成n/m的形式(化到最简),于是我们可以令f(x)=f(n/m)=R(m)。对于任意的y和d,在y±d里肯定存在一个有理数,假如按照上面的对应来看它是第m个有理数(即R(m)),下面我们就想办法说明我们总能够找到一个n,使得n/m在x±d的范围内。当然,如果运气不好m值很小的话我们就挂了,我们很自然地想到,这个m值应该越大越好,最好能重新定义一个值域为全体有理数的函数,对任一给定的有理数我们都能找出任意大的m对应到它。然后我们想到定义一个多对一的、定义域和值域都是自然数的函数H(x):
x 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
H(x) 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 ...
重新定义f(x)=f(n/m)=R(H(m)),这样的话任意给定一个有理数,我们可以找到任意大的m使得R(H(m))等于这个有理数。当m足够大时,m(x-d)和m(x+d)之间一定会出现一个整数n,则此时n/m在x±d的范围内。
但我们又遇到一个问题:要是找到的那个n始终不能和m互质(表明没化到最简)咋办?我的直觉是,这种极端的情况应该是不存在的,当m充分大时,总有一个满足要求的n/m出现。但我没有严格证明它。其实,我根本不需要去证明它;这个题目有趣就有趣在,我这个函数f是可以随便构造的。你或许在想,要是分母m为质数就好了。那好,我就可以强迫分母m为质数。定义一个定义域为全体质数,值域为全体正整数的函数P(x),它表示x是第几个质数:
x 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
P(x) - 1 2 - 3 - 4 - - - 5 - 6 - - ...
重新定义f(x)=f(n/m)=R(H(P(m))),现在我们能够找到任意大的质数m使得R(H(P(m)))等于指定的有理数。当m足够大时,m(x-d)和m(x+d)之间一定会出现两个相邻的整数p和q,由于m是质数,p和q之间总有一个数与m互质(不可能都是m的整倍数),我们需要的n也就找到了。
满足要求的函数有很多。这只是其中一种构造方法。大家能不能再想一些更有趣的构造来?
来源:http://www.douban.com/group/topic/2561708/
参考网友yushih的解答
最近重新整理了日志Tag。如果你喜欢这篇文章,不要错过这里的惊奇数学事实,你会看到更多难以置信的数学结论。