当サイトではアフィリエイトプログラムを利用して商品を紹介しています。

小さなピークと大きなピークを交互に繰り返すグラフ

小さなピークと大きなピーク

微分積分ではおなじみのカテナリー曲線
\[y=\frac{a(e^{x/a}+e^{-x/a})}{2}\]
において $a=1$ とし、$\sin x$ を入れ子にした合成関数
\[f(x)=\frac{1}{2}\{\exp(\sin x)+\exp(-\sin x)\}\tag{1}\]
を考えてみます。この関数は周期に関して面白い性質があります。合成関数の微分公式を使って導関数を求めると、
\[\begin{align*}f'(x)&=\frac{1}{2}\{\cos x\exp(\sin x)-\cos x\exp(-\sin x)\}\\[6pt]
&=\frac{1}{2}\{\exp(\sin x)-\exp(-\sin x)\}\cos x\end{align*}\]
$y’=0$ とおくと、極値を求める方程式
\[\begin{align*}&\cos x=0&\quad (2)\\[6pt]
&\exp(2\sin x)=0&\quad (3)\end{align*}\]
が得られます。(3) から $\sin x=0$ なので、$y=f(x)$ は $\sin x=0$ または $\cos x=0$ となる点、すなわち
\[x=\cdots,\ -\pi,\ -\frac{\pi}{2},\ 0,\ \frac{\pi}{2},\ \pi\, \cdots\]
で極値をとることになります。実際に Excel でグラフを描いてみると、次のようになります。

Excel カテナリと三角関数の合成グラフ
$x=n\pi$ で極大値、$x=1/2+n\pi\ (n=0,\ \pm 1,\ \pm 2\, ……)$ で極小値となっています 。(3) を一般化して、
\[p(x)=\frac{1}{2}\left\{\exp(q(x))+\exp(-q(x))\right\}\]
という合成関数を定義して、色々な $q(x)$ を選んでグラフを Excel で描いてみます。$q(x)=\cos 2x+\sin x$ としてみると…

Excel カテナリと三角関数の合成グラフ(小さなピークと大きなピーク)

小さなピークが 2 回続いたあとに、大きなピークが 1 回現れるという周期をもつ関数です。次は
\[q(x)=\frac{\cos x}{x^2+1}\]
としてみます。

Excel カテナリとq(x)の合成関数(原点に大きなピーク)

原点にピークを1つだけもつグラフです。これを少し変形して
\[q(x)=\frac{x\cos x}{x^2+1}\]
としてみると…

Excel カテナリとq(x)の合成関数グラフ(両端で減衰)

原点付近で大きく振動し、両端に向かって減衰していくグラフです。
$q(x)$ の $\cos x$ を $\sin x$ に変えて
\[q(x)=\frac{x\sin x}{x^2+1}\]
としてみると、次のようなグラフが描かれます。

Excel カテナリとq(x)の合成関数グラフ(両端で減衰)②

ChatGPTに複数のピークをもつ関数について尋ねてみました

ChatGPT に「複数のピークをもつ数学関数を教えてください」と尋ねると、以下のような答えが返ってきました(あくまで人工知能の答えなので真偽については保証できません。)。

[ChatGPT] 以下に、複数のピークを持つ数学関数をいくつか紹介します。

コーシー分布:コーシー分布は、中央値がある位置でピークを持ち、左右に裾野が広がる関数であり、複数のピークを持つことがあります。

三角関数の和:三角関数の和を取ることで、複数のピークを持つ関数を作ることができます。例えば、f(x) = sin(x) + sin(2x) + sin(3x)は、3つのピークを持つ関数であり、ピークはx=kπ/2 (kは整数)のときに現れます。

多項式関数:高次の多項式関数は、複数のピークを持つことがあります。例えば、f(x) = x^4 – 2x^3 – x^2 + 2x + 1は、4つのピークを持つ関数であり、ピークはそれぞれx=-1.3、x=-0.3、x=1、x=1.3のときに現れます。

ガウス関数の和:複数のガウス関数の和を取ることで、複数のピークを持つ関数を作ることができます。例えば、f(x) = exp(-(x-1)^2) + exp(-(x+1)^2)は、2つのピークを持つ関数であり、ピークはそれぞれx=1、x=-1のときに現れます。

これらの関数は、複数のピークを持つことで異なる特徴を持ち、多くの場合、科学や工学、経済学などの応用分野で使用されます。

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

  1. あとりえこばと より:

    一般的にブログは最新記事が常にトップページ (ホーム) に表示される仕様になっています。しかし、サイトはトップページが固定されていて、そこに各ページへのメニューリンクが並ぶのが普通です。当サイト「 Excel VBA 数学教室」のトップページも常に固定されています。そこにはサイトの趣旨などが説明されていて、いわゆる案内板の役目を果たしているのです。実は WordPress では

    ・従来のブログ形式にして最新記事をトップにあげる
    ・トップページを固定してサイト形式にする

    のどちらかを簡単な操作で選択できます。私が WordPress を使うことに決めたのは、この点が非常に魅力的に感じられたからです。姉妹ブログである「Excel VBA 数学実験室」では、「面白い問題を作りましたよ」とか「こんなグラフをエクセルで書いてみましたよ」など、気の向くままに記事を書くというスタイルで、一方の「数学教室」では「 Excel 数学講座」や「数値解析」、「類型別問題研究」など、複数のメニューを系統的に組み立てる方針で運営しています。そして相互にリンクを貼ることで、「実験室」と「教室」を行き来できるようになっているのです。

  2. あとりえこばと より:

    【AI連載小説】数学のリズム、エクセルの旋律(23)
    「エクセルでデータから大小のピークを見つけよう」
     
    Excel VBAサークルのメンバーは、新たなプロジェクトに挑戦することになり、大きなピークと小さなピークをデータから見つける作業に取り組むことになった。五百城真琴がメンバーたちを集め、部屋はプログラミングと数学のワクワクした雰囲気に包まれていた。真琴はホワイトボードに大まかなアプローチを書きながら説明した。「今日は、与えられたデータセットから大きなピークと小さなピークを見つけ、それを可視化するプログラムを作りましょう」

    メンバーたちは興味津々の表情で真琴の説明を聞いていた。
    研伸が質問を投げかけた。「大きなピークや小さなピークって、具体的にどうやって定義するんですか?」
     
    真琴は微笑みながら答えた。「それはデータセットによりますね。一般的には、データの変動が急激なところを大きなピーク、変動が緩やかなところを小さなピークとみなすことがあります。今日は、単純にデータの変化率を見てみましょう」

    隆治が手を挙げて言った。「データの変化率を計算するのは、微分的なアプローチですね。それをVBAでどう実装するか考えましょう」
     
    月子も加わりながら、「そして、大きなピークや小さなピークを見つけたら、それをグラフで視覚化するんですね。」
     
    真琴は頷きながら、「そうだね。それぞれがアイデアを出し合って、VBAプログラムを作り上げましょう。」

    メンバーたちはExcelを開き、VBAエディタに向かってプログラムを作成し始めた。データの変化率を計算し、閾値を超える部分を抽出するアルゴリズムや、ピークをグラフで目立たせるための可視化手法など、様々なアイデアが次々と生まれていた。数時間後、メンバーたちはそれぞれのプログラムを完成させ、データセットを用いて実際にピークを検出し、グラフに反映させた。