Excel VBA 数学教室ではアフィリエイトプログラムを利用して商品を紹介しています。

C^n級関数(連続と不連続・滑らかさの度合い)

連続と不連続

下図のように、関数 f(x) が定義された区間内に 1 点 a をとります。
 
Excel連続関数のグラフ

x を限りなく a に近づけたとき、つまり、|xa|0 で、
 |f(x)f(a)|0
となるのであれば、関数 f(x)x=a連続(coutinuous)であるといいます。極限記号を使って書くと
 limxa|f(x)f(a)|=0
すなわち
 limxaf(x)=f(a)
であれば関数 f(x)x=a で連続です。

次の条件が成り立つとき、 y=f(x)x=a で連続である。
f(x)a の前後で定義されている。
limxaf(x) が存在している。
limxaf(x)=f(a)

もし区間内の任意の点 a で上の条件が成り立つのであれば、 y=f(x) はその区間内で連続であるといいます。直感的に説明すると、関数のグラフを鉛筆でなぞったときに一度も紙面から鉛筆の先が離れなければ、その関数は区間内で連続だということです。しかしこの定義だけでは「区間の端ではどうなるのか?」という疑問が生じます。たとえば下図のように区間 [α,β] で定義された関数 f(x) があるとします。
 
Excel区間を限定した関数

この場合、x を負の方向(左側)から α に近づけることができません。しかし x を正方向(右側)から α に近づけたときの極限値 limxα+0f(x) が存在し、 limxα+0f(x)=f(α) であるならば、関数 y=f(x)x=α で連続であると考えます。同様に端点 β においても、 limxβ0f(x)=f(β) ならば、関数 y=f(x)x=β で連続です。

f(x)=logxx=1 で連続です。なぜなら x=1 の前後で f(x)=logx は定義され、limx1f(x) が存在し、limx1f(x)=log1=0 となるからです。同様に x>0 のあらゆる点で連続であることがわかります。
 
連続条件を1つでも満たさない場合、関数 y=f(x) は点 x=a において不連続 (discontinuous)であるといいます。たとえば y=1/(x1)x=1 で不連続です。
 
Excel分数関数のグラフ

そもそも f(1) が定義されていないし、 limx1f(x) も存在しないからです。
以下に連続関数の性質をまとめておきます。

f(x),g(x) がある区間で連続であれば
kf(x),f(x)±g(x),f(x)g(x)も連続であり、g(x)0 の点について
f(x)g(x)もまた連続である。

この性質から多項式
 f(x)=a0xn+a1xn1+an
は全て連続であることがわかります。また 2 つの多項式 f(x),g(x) があって、それぞれを分子分母とする関数 y=f(x)/g(x) , すなわち有理関数もまた分母が 0 になる点を除けば連続です。

f(x)x=a で連続で f(a)=b , g(x)x=b で連続ならば
合成関数 g(f(x))x=a で連続となる。

すなわち cos(cosx)exp(x3) などは実数全域で連続です。

いたるところで滑らかな関数は連続です。言い換えると「微分可能な関数は連続です」。

【微分可能な関数は連続であることの証明】
ある区間で関数 y=f(x) が定義されていて微分可能であるならば、
 limx0ΔyΔx=dydx
が存在します。つまり
 limx0Δy=dydxlimx0Δx=0
となるので、y=f(x) はこの区間で連続です。

しかし連続であるからといって、その関数が微分可能であるとはいえません。たとえば原点で折れ曲がる f(x)=|x| という関数について考えてみます。この関数は x=0 でも確かに連続ではありますが、
 Δy=f(0+Δx)f(0)=|Δx|
となるので、Δx>0 では
 ΔyΔx=ΔxΔx=1
であり、Δx<0 では
 ΔyΔx=ΔxΔx=1
となってしまって微分は不可能です。

C^n級関数 (滑らかさの度合い)

関数 f(x) が連続であるとき「関数 f(x)C0 級に属している」といいます。また f(x) が 1 回微分可能で、その導関数 f(x) が連続であることを「C1 級に属している」といいます。この定義からわかるように、C1 級に属している関数は同時に C0 級にも属しています。一般に関数 f(x)n 回連続微分可能で、f(n)(x) が連続であるならば、その関数は「Cn 級に属している」といいます。たとえば y=|x| は連続なので C0 級に属していますが、x=0f(x) が定義されないので C1 級には属していません。次の関数は連続なので C0 級に属しています。
 f(x)={x2(x0)x2(0<x)
この関数を微分してみると
 f(x)={2x(x0)2x(0<x)
となって、やはり連続なので C1 級にも属しています。しかし x=0f(x) が定義されないので C2 級には属していません。普段扱っているような初等関数のほとんどは何度でも微分可能であり、そのような関数は「C 級に属している」といいます。たとえば 2 次関数 f(x)=x2
 f(x)=2x,f(x)=2,f(x)=0,f(4)(x)=0,
というように無限回の微分が可能なので C 級に属しています。同じように sinxcosx もまた C 級に属しています。

エクセルや数学に関するコメントをお寄せください