番外編 だ円の回転 [ネコ騙し数学]
番外編 だ円の回転
問題 曲線5x²+6xy+5y²=8
・・・①を原点のまわりにθだけ回転して、Ax²+By²=C・・・②の形にしたい。θの値をいくらにすればよいか。
点(x,y)を原点まわりで反時計回りにθだけ回転したときの点を(X,Y)とすると、(x,y)と(X,Y)との間には
という関係がある。
行列で書くと、
したがって、
これを①に代入すると、
これを整理すると、
ここで、
だから、③は
これがAX²+BY²=Cの形になるためには、
したがって、θ=45°=π/4(rad)にすればよい。
何故ならば、cos90°=0だから。
sin90°=1だから、④はとなり、このX、Yをx、yに戻して、
これは、右図に示すだ円。
(解答終了)
回転させただけだから、だ円の面積は変わらない。
だ円、の面積はπabだから、
の面積は2π。
したがって、
の面積も2π。
積分することなく、曲線①の面積が求まった。
ちなみに、赤い線がだ円①の長軸、紫色の線をだ円①の短軸という。
なぜ、そうなるかについては、将来、2×2の行列と1次変換について詳しく述べることにして、他の方法で回転角θを求めることもできる。
曲線①から
という行列を作り、固有値と固有ベクトルを求める。
⑥が(x,y)=(0,0)以外の解をもつためには、行列式
で、k=2,k=8を⑤にそれぞれ代入すると、k=2のときx+y=0、k=8のときx−y=0。
x+y=0は赤の直線、つまり、長軸の直線の方程式。
x−y=0は紫色の直線、つまり、短軸の直線の方程式。実はそれだけではなくて、
というだ円の方程式まで出てしまうのであった。
一般化すると、
という2次曲線の方程式がある場合、
という行列の固有値と固有ベクトルを求めるとよいという話でした。
包絡線 [ネコ騙し数学]
包絡線
αをパラメータとして含む曲線群
の各曲線と1点だけで接する曲線を包絡線という。
f(x,y,α)をC¹級とする。
曲線群と包絡線の接点を(x,y)とすると、xとyはαの関数である。これを
とする。
(1)と(2)は接するのだから、
また、φ(α)、ψ(α)はf(x,y,α)=0上の点だから
これをαで微分すると、
ゆえに、包絡線は
の交点である。
逆に(4)の2つの方程式から
であるαの関数が存在するとする。
(4)より
(5)をαで微分すると、
(6)よりだから
したがって、でないならば接する。
少し補足説明する。
例えば、
という曲線(群)があるとする。
αの値を一つに固定すると、たとえば、α=1とすると、①は中心(1,0)、半径1の円になる。
次にα=1/2とすると、中心(1/2,0)、半径1/2の円になる。このようにαを変化させれば、中心(α,0)、半径|α|の曲線群を得ることができる。
図から明らかなように、この曲線群は、αの値にかかわらず、y軸、つまり、x=0に接する。つまり、x=0が①の包絡線ということになる。
問題1 次の曲線群の包絡線を求めよ。
【解】
(1) αで偏微分すると
で、
よって、包絡線は放物線y²=4x
(2)
①をαで偏微分すると、
①と②を2乗して足すと
よって、包絡線は原点を中心とする半径pの円。
をαで偏微分すると、
したがって、
x=−1は包絡線。
x=0は特異点の軌跡。
(解答終了)とすると、
したがって、x=0、y=αは特異点。
また、よって、(x,y)=(0,α)において
(0,α)は結節点で接線は2本引ける。
問題2 次の包絡線を求めよ。
(1) 円x²+y²=r²のy軸に平行な弦を直径とする円の曲線群(2) 座標軸で切り取られる部分の長さが一定である曲線群
【解】(1) 弦の両端をA、B、その中点をCとし、C(α,0)とする。
三角ACOは直角三角形だから、ABを弦とする円の半径ACはよって、円の方程式は
αで偏微分すると、
これを①に代入すると、
(2) 直線の方程式を
とすると、条件より
①をαで偏微分すると、
②をαで微分すると
③に代入すると、
とおくと、
これを①に代入すると、
②に代入すると、
④を②乗したものと⑤の辺々を掛けると、
よって、アステロイドになる。
(解答終了)台形公式の精度を求める問題 [ネコ騙し数学]
台形公式の精度を求める問題
台形公式の精度を求めるいい問題があったので紹介します。
問題
a<bのとき
となるようにkの値を定め、関数F(x)を
とする。
この関数について、ロールの定理を繰り返して使うことによって
となるようなξが存在することを示せ。
【解】
x=aのとき、
x=bのとき
F(a)=F(b)=0かつ、F(x)は、閉区間[a,b]で連続、開区間(a,b)で微分可能。
よって、ロールの定理よりF'(c)=0となるa<c<bが存在する。
②を微分するとよって、F'(a)=0。
F'(a)=F'(c)=0かつ、F(x)は[a,c]で連続、(a,b)で微分可能。よって、ロールの定理より
となるξが存在する。
ξ<>aだから、
これを①に代入すると、
(解答終了)
は、曲線y=f(x)とx軸、x=a、x=bで囲まれた部分の面積であり、
は、右図の台形ABCDの面積である。
問題の結果より、
という関係があり、右辺はSをTで近似したときの誤差を与える。
[a,b]を
とn等分とする、
n等分したのだから、
この区間に台形公式で近似すると、
よって、
ここで、の最大値をMとすると、
これが台形公式の誤差限界である。
ちなみに、以前紹介した中点公式
の誤差限界は
(1)と(2)のMは等しくないので単純な比較はできないけれど、Mが同一であれば、中点公式は台形公式の誤差の1/2ということになる。
だから、一般論になるけれど、中点公式の方が台形公式より精度はよいということになる。を台形公式を用いて計算し誤差と分割の幅hとの関係を示したもの。
このグラフだと少しわかりにくいと思うのだが、h=0.1からh=0.01へとhが1/10になると、誤差は約その2乗である(1/10)²=1/100になる。
計算した生のデータのほうがわかりやすいと思うので、生データを以下に示す。
分割幅 h 誤差
0.010000 0.000004166667
0.001000 0.000000041667
0.000100 0.000000000417
この関数の場合、綺麗に1/100になっている。
これだとまだ直観的に理解しづらいかもしれないので、[0,1]の分割数nと誤差との関係についてのグラフを示す。
ワンポイントゼミ26 [ネコ騙し数学]
ワンポイントゼミ26
ねこ騙し数学の記事の中では
と書いたけれど、この不等式は
の方がいいのかもしれないね。
ちなみに、n!とは
のこと。
ということで、
である。
また、定義から
という関係がある。
になっているからね。
そして、さらに0!を
と定義する。
そうすると、
で、0のときにも①が成立することになる。
n=1のとき1!=2⁰
n=2のとき2!=2¹だから、①の不等式で等号が成立する。
n≧3では、⑨が成立する。この証明は、ねこ騙し数学の記事に書いてある。
ということで、
となる。
また
である。
になっている。
n=4のとき
だから(1)は成立。
n=kのとき
が成立するとする。
n=k+1のとき
よって、数学的帰納法より(1)が成立する。
では、ここで一つ問題!!
問題
n、mを1より大きい整数とする。このとき、
を満たすnとmを求めよ。
【答】
(n,m)=(2,4)、または、(n,m)=(4,2)2⁴=4²=16だからね〜。
しかし、これでは数学の解答にならない!!今日のねこ騙し数学の記事がヒントだにゃ。
②の両辺の対数をとる。
そうすると、n≠0、m≠0だから、nmで両辺を割ると
ということで、
という関数が出てくる。
で、とりあえず、n≦mとする。
そうすれば、となり、
というxの解の個数を求める問題に帰着できる。
そすると、この関数はx<eで増加、x>eで増加するから、上の方程式が解を2つもつためには、片方の解がx<e<3より小さくなる必要がある。
したがって、1<n<3を満たすnは2しかない!!
だから、n≦mのとき、2⁴=4²の組み合わせしかない。なのだが、
2⁴=4²または4²=2⁴を知らないヒト、あるいは、これに気づかないヒトはどうするんだろう。この問題は、大昔、とある私立大学の入試問題として実際に出題されたものだけれど、オレは試験会場でこの組み合わせに気づかないかもしれない(^^ゞ
この問題の解答には
「2⁴=4²は4²=2⁴」は既知として・・・と書いてあったように記憶している。
これは、難関(私立)大学を目指す受験生にとって既知の内容で、「2⁴=4²は4²=2⁴」は絶対に知っておかないといけないことだったのか。
解いてみるケロ [ネコ騙し数学]
解いてみるケロ
昔、東京大学の入試問題で「とπ³とどちらが大きいか」という証明問題が出されましたが、証明はできないものの、計算尺を使えばのほうが大きいとすぐ分かります。
http://www.pi-sliderule.net/sliderule/premise/toha.html
このようなことを書いてあるサイトがあったので、この大小関係を示してみることにするにゃ。
とπ³の対数を取ると、になる。この2つの数を3π>0で割ると、
になる。
ちなみに、この対数は自然対数で、
さてさて、ここで次の関数を考える。
微分すると、
y'=0になるのはx=eのときだから、増減表を書くと、次のようなる。
e<3<πだから
これで大小が決まった。
ひょっとしたら、π>3であることを証明しないとマズいのかもしれない。
中心をOとする半径1の円を書くにゃ。右図のようにこの円に内接する正12角形を作る。そして、図のように正12角形の頂点A、Bと中心Oをそれぞれ結び、さらに、AとBを結ぶ。
そうすると、∠AOB=30°。
したがって、
これが12個あるのだから、正12角形の面積Sは
これは、円Oの面積πよりも小さいので、
eと3の大小関係は・・・
そこまで要求するか?
だケロ。
2項定理から
したがって、eが3より大きくなることはない。
つまり、e≦3だケロ。
ということで、すべて、めでたく証明された!!
何だにゃ、
を使っているって?
n=3のとき
だから、⑨式は成立する。
n=k (k≧3) のとき成立すると仮定する。
つまり、n=k+1のとき
よって、n=k+1の時にも成立。
以上のことより、数学的帰納法によって⑨は成立する。
体積 座標軸以外の直線のまわりの回転 [ネコ騙し数学]
体積 座標軸以外の直線のまわりの回転
と直線y=xとによって囲まれる部分を、y=xのまわりに回転して立体を作る。
(1) 直線y=x上で原点からの距離がtである点をPとし、Pをとおりy=xに直交する平面でこの立体を切った切り口の面積S(t)を求めよ。
(2) この立体の体積を求めよ。【解】
(1) Pからx軸におろした垂線の足をH、Pを通りy=xに直交する直線と曲線y=x²/√2との交点をQとする。OP=tだから、Pの座標は
また、∠POH=∠OPH=45°、∠QPO=90°だから、∠QPH=45°。
よって、点Qの座標は
Qは曲線上にあるので、
よって、切り口の面積S(t)は
(2) y=xとは原点Oと点A(√2,√2)で交わり、したがって、OA=2。
よって、体積Vはここで、
で、とおくと、t=0にはu=1、t=2にはu=3が対応する。
また、よって、
ゆえに、
(解答終了)
問題2 放物線y=x²−xと直線y=xとで囲まれた部分が、この直線のまわりに回転してできる立体の体積を求めよ。
【解】
とx軸になる。
①をyについて解くと、
よって、
(解答終了)
回転を利用すれば上の解答のように解くことができるが、次のように解くこともできる。
放物線y=x²−xと直線y=xの交点は原点OとA(2,2)。
曲線上の点P(x,y)からy=xにおろした交点をQ、
したがって、
また、直線と距離の公式より点P(x,y)とy=xの距離は
よって、体積Vは
(解答終了)
あまりいい解き方ではないが、次のような解答を作ることもできるだろう。
問題3 と座標軸とが囲む部分が点A(1,0)、B(0,1)を通る直線のまわりに一回転してできる立体の体積を求めよ。
【解】は、媒介変数tを用いて
とあらわすことができる。
P(t³,1−2t+t²)からy=xにおろした垂線の足をQとし、
とすると、直線の方程式PQは
である。
直線と点の距離の公式より
よって、体積Vは
(解答終了)
これよりは、次のように解いたほうがいいだろう。
と同じ曲線。
ここで、
と変数を変換すると、②は
になる。
つまり、曲線①の正体は放物線の一部ということが分かる。
そして、このことを利用すると、次の問題を解くことができる。
【解】
(解答終了)
関数方程式2 [ネコ騙し数学]
関数方程式2
問題1 微分可能な関数で、次の条件を満たすものを求めよ。
【解】
(1)
両辺をxで微分すると
さらに両辺をxで微分すると、
y=f(x)とおくと、
①にx=0を代入すると、
したがって、
(2) x−t=uとおくと、t=x−uで、t=0にはu=x、t=xにはu=0が対応する。
また、dt=−duだから両辺をxで微分すると、
①にx=0を代入すると、f(0)=0。
よって、
y=f(x)とおくと
x=0のときy=0だから、C=1。
よって、
(解答終了)
問題2 [0,1]で定義された連続関数f(x)が連続な導関数f'(x)をもち、f(0)=2とする。
いま、この関数が、g(0)=g(1)=0をみたす[0,1]で連続な任意の関数g(x)(連続な関数g'(x)をもつとする)に対してをみたすとき、
(1) f'(x)−3f(x)=0を証明せよ。
(2) f(x)を求めよ。【解】
(1) 部分積分するとしたがって、
g(x)は任意の関数だから、
とおくと、
よって、
である。
(2) y=f(x)とおくと
x=0のときy=2だからC=2。
よって
(解答終了)
4次精度のルンゲ=クッタ法で問題を解いてみた [ネコ騙し数学]
4次精度のルンゲ=クッタ法で問題を解いてみた
今日、11月24日に公開した数学の記事の第3問目は
になる。
この解は、問題3で求めたとおり
である。
(1)の連立常微分方程式は
の特殊なものであり、したがって、4次精度ののルンゲ=クッタ法で解くことができる。
連立常微分方程式を解く(4次精度の)ルンゲ=クッタ法のアルゴリズムは次のようなもの。
これを上から順次計算し、Step5まで計算しおえたら、xをx+hだけ進め、Step1に戻って同じように計算すればよい。
ちなみに、上のアルゴリズムで使われている「=」は、数学の「等号」ではなく、右辺の計算結果を左辺に代入するという代入することをあらわしている。
4次精度のルンゲ=クッタ法はさすがに手計算でこれを行うのは大変なので、2次精度のルンゲ=クッタ法を使って、手計算で最初の値を求めてみることにする。
2次のルンゲ=クッタ法は次のようなアルゴリズム。
微分方程式(1)は
計算出発点のx=0のとき、y=1、z=0。
h=0.1とすると、
ちなみに、x=0.1のときの正しい値はy≒1.0050、z≒0.10017だから、こちらも精度よく計算できていることがわかる。
そして、x=0.2のとき、上の計算で得られたy=1.0025とz=0.1を使って同様の計算をする。次に、4次精度のルンゲ=クッタ法を用いて、h=0.1としたときの計算結果を示す。
誤差は殆どなく、正確に計算できていることがわかると思う。
参考までに2次精度のルンゲ=クッタ法の計算結果を示す。
2次精度のルンゲ=クッタ法であってもこの程度の計算ならば、差は大きくない。
そこで、この両者の計算精度の差を明らかにするために、さらに複雑な次の連立常微分方程式を数値的に解くことにする
この微分方程式の解は、
4次精度の計算結果は次の通り。
厳密解とよく一致している。
しかし、2次精度のルンゲ=クッタ法ではと、xが大きくなるにつれて、厳密解との差が次第に大きくなってゆく。
h=0.1からh=0.01とhを1/10にしたとしても、精度はやはりh=0.1のときの4次精度のルンゲ=クッタ法に及ばない。
さらに1/10にしてh=0.001と、h=0.1の1/100したものが次のもの。
このとき初めて4次精度のルンゲ=クッタ法と2次精度のルンゲ=クッタ法は同程度の誤差になる。
4次精度のルンゲ=クッタのプログラムは以下の通り。
#include <stdio.h>
#include <math.h>
double f(double x, double y, double z) {
return x*y*z; // 変えていいのはここ
}
double g(double x, double y, double z) {
return x*y/z; //変えていいのはここ
}
// Runge_Kutta本体はいじらない方がいい
// いじらないでもいいように独立化させてある
// 独立化させているので、この部分は他のプログラムにそのまま流用可能!!
void Runge_Kutta(double x, double y, double z, double h ,double n) {
double dely1, dely2, dely3, dely4;
double delz1, delz2, delz3, delz4;
int i;
printf("%f %f %f\n",x,y,z); // 結果の出力(初期値)
for (i = 1; i <= n; i++) {
dely1 = h*f(x,y,z);
delz1 = h*g(x,y,z);
dely2 = h*f(x+h/2, y+dely1/2, z+delz1/2);
delz2 = h*g(x+h/2, y+dely1/2, z+delz1/2);
dely3 = h*f(x+h/2, y+dely2/2, z+delz2/2);
delz3 = h*g(x+h/2, y+dely2/2, z+delz2/2);
dely4 = h*f(x+h, y+dely3, z+delz3);
delz4 = h*g(x+h, y+dely3, z+delz3);
x=x+h;
y=y+(dely1+2*dely2+2*dely3+dely4)/6.;
z=z+(delz1+2*delz2+2*delz3+delz4)/6.;
printf("%f %f %f\n",x,y,z); // 結果の出力
}
}
main() {
int n;
double x, y, z;
double h;
h=0.1; // xの増分の設定 ココは変えてもよい
n=10; // 何回計算するかの設定 最終的にn×h進む
x=1; y=1./3.; z=1; // x,y,zの初期条件の設定
Runge_Kutta(x,y,z,h,n); // Runge-Kutta法を呼び出す
/* dy/dx=f(x,y,z), dz/dx=g(x,y,z)の初期値問題を
4次精度のルンゲ=クッタ法で解くプログラム */
// 注意 このプログラムで解く関数y,zはx=√7で不連続、ココでゼロ割発生!!
}
上のプログラムは、2つ目の微分方程式を解いている。
1つ目の微分方程式を解きたい場合、
double f(double x, double y, double z) {
return z; // 変えていいのはここ
}
double g(double x, double y, double z) {
return y; //変えていいのはここ
}
とし、mainの
x=1; y=1./3.; z=1; // x,y,zの初期条件の設定
を
x=0; y=1; z=0;
にすればよい。
関数方程式 [ネコ騙し数学]
関数方程式
問題1 a、bの任意の値に対してつねに、次の関係が成り立つように微分可能な関数f(x)を求めよ。
【解】
任意の定数aに対して
両辺をxで微分すると
f'(0)=Aとすると、
したがって、
また、
よって、B=0。
したがって、
(解答終了)
問題2 すべての実数xに対して0でない関数f(x)があり、任意のx₁、x₂に対して
を満足するものとする。
(1) f(0)=1であることを示せ。
(2) f'(0)=2であるとき、f'(x)の定義より、f'(x)=2f(x)であることを示せ。(3) 任意の実数xに対してf(x)>0であることを示せ。
(4) (2)で与えられた微分方程式からf(x)を求めよ。【解】
(1) x₁=x₂=0とするとf(0)≠0だから、両辺をf(0)で割って、f(0)=1である。
(2)
(3)
(4) y=f(x)とおくと、微分方程式f'(x)=2f(x)は
f(0)=1だから、C=1。
よって、(解答終了)
問題3 f(x)はすべての実数に対して定義され、正の値をとる連続関数で、
とおくとき、
である。
(1) F(x)=f(x)+g(x)、G(x)=f(x)−g(x)とするとき、
であることを証明せよ。
(2) f(x)を求めよ。
【解】(1)
をxで微分すると、
F(x)=f(x)+g(x)をxで微分すると
G(x)=f(x)−g(x)をxで微分すると、
(2) y=F(x)とおくと、
条件
にx=0を代入すると、
すべての実数xに対してf(x)>0だから、f(0)=1。
よって、
同様に微分方程式
を解くと
x=0のとき
したがって、
これをf(x)、g(x)について解くと
(解答終了)
問題では、f(x)だけを求めよとあるけれど、g(x)も簡単に求められるので、求めた。
が成り立っていることが分かると思う。
実は、問題3で求めたf(x)、g(x)は双曲線関数と呼ばれるもので
三角関数と類似した性質を持っている。
たとえば、
や
などなど。
そして、
陽解法による拡散方程式の解法の安定性 [ネコ騙し数学]
陽解法による拡散方程式の解法の安定性
次の拡散方程式がある。
ここで、uは時刻tと位置xの関数、すなわち
とする。
陽解法は(1)を次の差分方程式に置き換えて、次の差分方程式を解くことによって(1)の近似解を求める。
とおくと、(2)は
差分方程式(2)の厳密解は(3)を満たすので、誤差も(3)を満たすと考えられる。
つまり、
誤差が次のように表せるとすると、
(4)より
オイラーの公式より
だから、
さらに、半角公式
より
で、
だから、 (5)式の右辺は誤差の倍率をあらわすと考えられる。
したがって、
のときに、は収束する。
で、とおくと、
を満たすKは
したがって、
これをすべてのkについて満たさなければならないから、
上の議論は正確なものではないので注意。
このようにして、陽解法のという制限、条件が出てくるという話です。
さてさて、この話は本当かということで、この検証のためのスプレッドシートを作り、実験してみた。
解く偏微分方程式は、
これをΔt=0.25、Δx=0.5で解いた結果はこれ。
x=1とx=2の計算結果を示してある。
厳密解、そして、陰解法で解いた結果と良好な一致を見せており、このスプレッドシートの正当性を示している。
r=0.5の場合
r=0.6の場合。
時間の経過とともに誤差が次々と伝播、増大し、数値解が激しく振動してしまう。