アフィリエイト広告を利用しています

2015年10月31日

合成関数を使って階段グラフを作ります

≫ [Amazon書籍] 誰もがその先を聞きたくなる理系の話大全

合成関数を使って階段グラフを作ります

 今回は少し変わった関数の作り方を紹介します。まず最初に、

   f(x) = x + cosx

 という関数をエクセルで描いてみます。

 入れ子関数1.gif

 これは予想通りの形ですね。直線 y = x に沿うような周期関数です。それではこの関数をさらに f(x) の中に入れた写像を考えます。つまり、

   g(x) = f [f(x)]
      = f [x + cosx]
      = (x + cosx) + cos(x + cosx)

 という入れ子になった関数を考えるわけです。グラフを描くと・・・・・・

 入れ子関数2.gif

 段丘のようなグラフが出現しました。さらに、

   h(x) = f[g(x)] 

 という関数を作ってみましょう:

 入れ子関数3.gif

 全体的に角ばった形になりましたね。最後にもう1度、

   i(x) = f[h(x)]

 というように変換すると・・・・・・

 入れ子関数4.gif

 階段の完成です。 i(x) の具体的な表式は相当に複雑になっているはずです。手計算で合成関数を扱うのは至難の業でしょう。しかし Excel を使うと上のような変換は 1 クリックで実行できます。具体的な式の形がわからなくてもグラフを描くことができるのです。元になる関数を変えてみると、色々と面白い関数が出現します。もう少し合成関数で遊んでみましょう。

   f(x) = x + cosx + sin2x

 という形で変換を定義します。そして x に対し f によって 1 回の変換をほどこした関数を F1 、2 回変換した関数を F2 と書くと約束しておきます:

   F 1 = f(x)
   F 2 = f [F1]
   F 3 = f [F2]

では F3 のグラフをエクセルで描いてみます。

 写像x+cosx+sin2x.gif

 地形のようなグラフが現れましたね。複雑な関数であっても三角関数と1次関数の組合せなので、目を凝らしてみると、きちんと周期があることがわかります。元になる関数を、

   g(x) = x + cosx + sin2x + 1

というように少し変えて、g によって 3 回変換した G3 写像のグラフを描いてみると・・・・・・

写像x+cosx+sin2x+1.gif

 地形の形が変わりましたね。
  ⇒ なんとなくの数学日記(ナビスコカップ決勝を観ました)  

2015年10月13日

自然対数の底 e の定義式が収束する様子を調べます

 前回に引き続いて微積分の入口で登場する公式に関連するお話です。

Excel で自然対数の底 e の定義式が収束する様子を調べます


 自然対数の底 e

自然対数の底の定義式
と定義されますね。今回は

自然対数の底関数

という関数を調べてみます。グラフを描いてみると・・・・・・

36-1y=(1+1dx)^x.gif

 y 軸の最小値は 1 としてあります。立ち上がりが急速に、後半はのんびりと増加する関数です。当然のことながら、 x → ∞ で y → e = 2.71828 に収束していきます。
 データを調べると、y の値が 2.71 を超えるのは x = 164 のときなので、x ≒ 200 ぐらいの値をとっておけば、この関数を e のそこそこの近似値として使えることになります。しかし e = 2.718 の精度を求めるのであれば、x ≒ 5000 が必要となります。

 この関数の性質をもう少し詳しく考察してみましょう。 1 + 1 / x の部分は原点付近で非常に大きな値を取りますが、指数部分の小さな x がそれを抑え込むという構造になっています。指数部分の効果のほうが大きいので、結果として関数の値は小さくなります。その構図は x < 1 の範囲で続きます。x が 1 を超えると、 1 + 1 / x は x の増加とともに減少していきます。指数部分の x が値を大きくする作用は増していくので、わずかにその効きは勝ちますが、やがてそのせめぎ合いは均衡をとるようになり、それが定数 e への収束という結果に終わります。

 では最後にいつものように変形バージョンを載せておきます。肩の部分を x ⇒ sinx と変形してみると・・・・・・

36-2y=(1+1dx)^sinx.gif

 肩にある sinx は −1 から 1 の間の値しかとれないので、 x → ∞ のとき 1 + 1 / x → 1 となり、関数は揺れながらも 1 へと収束していきます。
 ⇒ なんとなくの数学日記(感覚を大切に)  

2015年10月07日

1次関数に近い増加率をもつ関数

≫ [Amazon数学書籍] 層・圏・トポス―現代的集合像を求めて

1次関数に近い増加率をもつ関数


 32-1xの2乗をx-logxsinxで割る.gif
 いきなり複雑な関数に見えますが、その特徴を丁寧に見ていきましょう。2次関数 y = x 2 を x で割ると y = x 2 / x = x となり1次関数となります。「当たり前だ!」と思われるかもしれませんが、今回のテーマは 1次関数に近い増加率をもつ (つまり x が 1 増えれば y もおよそ 1 増えるような)関数です。上のグラフを見てください。波打ってはいますが、直線 y = x にほぼ沿うようなグラフです。(5, 5), (10, 10), (15, 15)の近辺を通りますね。これは x 2 を割る分母が x より少しだけ小さい関数にしてあるからです。 sinx の部分は +1 から −1 を往復するだけで平均すれば 0 ですから、大局的には増加率に影響しません。問題は logx の部分です。実は前回の「 x vs logx 」が伏線になっています。 x と logx を比べた時に、x ≒ 0 の辺りでは logx が優勢で、x が大きくなると x のほうが効きが強くなっていくという説明をしました。上のグラフは x が十分に大きい所では(増加率に関しては)1次関数のようにふるまうと考えられます。もう少し範囲を拡大してみましょう。

32-2xの2乗をx-logxsinxで割る.gif

 ギザギザの1次関数のようになっていますね。あるいは1次関数に巻きついた蛇のようにも見えます。この関数を少しずつ変形してみましょう。分母の logx にかかる部分を sinx + cos(√2x) とすると・・・・・・

32-3xの2乗をx-logx(sinx+cos√2x)で割る.gif

 このように三角関数の変数 x にかかる係数を円周率以外の無理数にすると周期が崩れます。以前にも同じようなことをやりましたね。もう少しいじってみましょう。 cos(√2x) ⇒ cos(√13x) と変形します。

32-4xの2乗をx-logx(sinx+cos√11x)で割る.gif

 とても不規則に見えますが、それでも (10, 10), (20, 20), (30, 30) の近くを通過していることに注目してください。あくまでも "1次関数的" であることに変わりはないのです。

 次に y = x 2 を x の1次式を含む数式で割って1次関数的なグラフを調べてみます。最初は x - sinx で割って、 0 < x の領域で関数を定義します。「さっきより簡単な関数になってるよ」と思われるかもしれませんが、はたしてどうでしょうか。

33 x^2dx-sinx.gif

 3 < x あたりからは確かに "1次関数的" なのですが、原点付近では明らかに異なる振る舞いをしていますね。もちろんこれは非常に小さい値で割っていることに起因します。もう少し具体的に計算して実感してみましょう。 x = 0.1 としてみると、

 分子 = 0.1 2 = 0.01
 分母 = 0.1 − sin(0.1) = 0.1 − 0.099833417 = 0.000166583

 明らかにその原因は sin の値にありますね。小さい値に対して sinx ≒ x という近似式が成り立つことは理数系の方にとっては常識だと思いますが(実際には少しだけ sinx < x となることも覚えておいてください)、それを使うと、分母 ≒ x − x と考えてもいいわけです。つまり原点に近づくと分母はほぼ 0 のような形になって(分子よりも早く 0 に収束して)、関数の値を急増させていきます。
 さらに細かい解析を試みます。上のグラフは sinx ≒ x が成り立つ領域と1次関数的に振る舞う領域の間に遷移帯が存在します。それは2次関数として振る舞う領域で、分母 ≒ 1 のあたりにあるはずです。グラフでいえば最初の谷に近いところですね。その中心点を見つけるには x − sinx = 1 という方程式を数値的に解いてみればいいのです。 y = x − sinx −1 のグラフを描いて、x 軸と交わる点を探します。精度を高めるためには x の刻み幅凅 をできるだけ小さくする必要があります。ここでは凅 = 0.001 という精度で解を求めてみます。一昔前は、こういう簡単なことをやるにもいちいちプログラムを書く必要がありました。 Excel は本当に便利です。

33x-sinx-1.gif

 上図は y = x − sinx −1 の x = 1.9 付近を拡大したグラフです。ここから y = 0 となる点は x = 1.935 と求めることができます。出力された数値データを丁寧に見ると x = 1.936 というさらに高い精度の解を得られます。この点を中心としてごく狭い範囲で2次関数のように振る舞うわけです。
 ⇒ なんとなくの数学日記(Excel 2013 を軽くしましょう)  

2015年05月18日

Excel でソリトン(粒子のように振る舞う孤立した波)のグラフを描きます

【Excelショートカット豆知識】
 [Ctrl] + [F6] 次のブックを表示

ソリトン(粒子のように振る舞う孤立した波)


 ソリトン.gif

 物理や工学の分野によく現れる ソリトン(soliton) という波形を紹介します。ソリトン とは 粒子のように振る舞う孤立した波 のことです。非線形波動の代表です。数式で表現すると双曲線正割 y = sechx、或いはそれを2乗した y = sech2xのことです。偏差値のグラフに似ていますが別物です。なかなか格好良いグラフですが、これは理工系世界では有名な関数です。これだけで終わってはこのブログの趣旨に反します。ソリトンに sinx を乗じてみましょう。

 sinxsech^2x.gif

 山と谷がセットになった孤立波ができました。お次は cosx を乗じてみます。

 cosxsech^2x.gif

 x = ±2 のあたりで微妙にへこんでいます。最後に ex を乗じてみます。

 expxsech^2x.gif

 このように非対称な関数を乗ずれば左右対称を崩せます。
 ⇒ なんとなくの数学日記(ミスった)  
検索
Excel VBA 数学教室
数学問題集(解答付き)
下剋上算数
ベクトル解析
サッカーマティクス
Excelで学ぶ統計解析
和算的思考力
学び直し
整数論の理論と演習
大人が手こずる算数
東大生の知恵袋
フーリエ変換
インド式秒算術
Excelで学ぶ微分積分
Excel 数学シミュレーション
オイラーの贈物


ファン
最新記事
カテゴリーアーカイブ