Pythonic HighSchool

Pythonic HighSchool

最近の記事

pythonのキーワード引数と辞書形式(**dict)の利用について

pythonで関数を呼び出すときに、引数にparameter(仮引数)の名前を指定してする方法があります。3行目のようにparameterが3つあるとして、3つの引数の値を数が合うように順番に呼び出す方法を位置引数といいます。これに対して、4行目のように引数名を指定する方法をキーワード引数といいます。さらに、5行目のように引数名と引数の値を辞書形式(doct)にして関数に渡す方法もあります。このとき、辞書では引数名は''()をつけ、呼び出すときにdictに**を付けるようにし

    • pythonの関数で使うpack,unpack機能

      pythonで関数を作っていると*argsや**kwargsという標記が出てきます。その都度、意味を確認してもすぐにわからなくなり、出くわすたびに引いてしまいます。しかし、matplotlibをいろいろな使ってグラフを描くうえで、プログラムを見やすくするために、描画部分を関数化したいとの衝動にかられます。この際、引数の渡し方が複雑になるので、*argsや**kwargsの使用を考えなければなりません。そこで、関数への引数の渡し方を整理してみます。 関数側 parameter

      • sin θからsin nθまでの合計を計算する

        $${\sin\theta}$$から$${\sin n\theta}$$までの合計を計算してグラフを作成してみます。 import numpy as npimport matplotlib.pyplot as pltN = 1000n = 5theta = np.linspace(-2*np.pi, 2*np.pi, N)fig ,ax = plt.subplots()plt.rcParams["figure.figsize"] = (6, 4)ax.set_title(

        • pythonのmatplotlibでsin nθのグラフを描く

          $${\sin n\theta}$$を作成します。$${\sin 2\theta}$$から始まり3つ、つまり$${\sin 4\theta}$$までのグラフを作成するために、はじまりの倍数をstart、グラフの本数をnumberとして指定します。 import numpy as npimport matplotlib.pyplot as pltN = 1000theta = np.linspace(-2*np.pi, 2*np.pi, N)start = 2number =

        pythonのキーワード引数と辞書形式(**dict)の利用について

          pythonのmatplotlibでsin θとcos θの半角定理を確認する

          Pythonで$${\sin^2\theta}$$と$${\cos^2\theta}$$のグラフを描きます。 import numpy as npimport matplotlib.pyplot as pltN = 100theta = np.linspace(-2*np.pi, 2*np.pi, N)sin_2 = np.sin(theta)**2cos_2 = np.cos(theta)**2add_ = sin_2 + cos_2fig ,ax = plt.subpl

          pythonのmatplotlibでsin θとcos θの半角定理を確認する

          pythonのmatplotlibでsin 3θとcos 3θのグラフを作成する

          $${\sin3\theta}$$(3倍角)のグラフを描いてみます。単純にグラフを作成すると、$${\sin\theta}$$に比べて周波数が3倍になることがわかります。 import numpy as npimport matplotlib.pyplot as pltN = 100t = np.linspace(-1, 1, N)omega_1 = 2 * np.pi * 1omega_3 = 2 * np.pi * 3sin_1 = np.sin(t * omega_1

          pythonのmatplotlibでsin 3θとcos 3θのグラフを作成する

          pythonでlatexの数式をnote用に変換する

          noteではlatexの数式を埋め込むことができるようになりました。とても便利でありがたいのですが、数式のはじめに$${、終わりに}$$を付ける必要があります。pythonについてはjupyter notebookプログラムとlatexを含んだ文章を編集していますが、こちらでは$で始まり$で閉じれば数式を表示してくれます。これは仕様であるので従うまでですが、少し手間がかかります。そこで、自動的に変換する関数を作成してみました。Jupyter notebookで編集した文章をク

          pythonでlatexの数式をnote用に変換する

          pythonのmatplotlibで角速度と倍角公式を可視化する

          三角関数の角度を示す変数を2倍にしてみます。なんとなく、振幅がゆったりになるような気がしますが、実際にはその逆になります。 このことは、時間当たり波がどれくらい進むかを考えるとイメージしやすくなります。 例えば1秒間に1周期($${2\pi}$$)進む波は周波数 f = 1とします。すると1秒間にどれくらい進むかは角速度といい、ギリシア文字の$${\omega}$$で表します。そこで周波数1と周波数2のsinの角速度を次の通りとしてグラフを描いてみます。 $${\omega

          pythonのmatplotlibで角速度と倍角公式を可視化する

          PythonのMatplotlibでsinとconの関係を視覚的に捉える

          $${\cos \theta}$$のグラフを$${\sin \theta}$$のグラフを比較すると、$${\frac{\pi}{2}}$$だけ左に寄っています。 これを右にずらして$${\cos \theta}$$のグラフに重ねることを考えます。このために$${\cos \left(\theta-\frac{\pi}{2}\right)}$$ようにします。公式でいうと $${\sin \theta=\cos \left(\theta-\frac{\pi}{2}\right)

          PythonのMatplotlibでsinとconの関係を視覚的に捉える

          pythonのmatplotlibでtanのグラフを作成する

          tanのグラフをmatplotlibを使って描くためには、少し工夫が必要です。何も工夫をしないと次のようなおかしなグラフになってしまいます。 import numpy as npimport matplotlib.pyplot as pltN = 100theta = np.linspace(-2*np.pi, 2*np.pi, N)tan_ = np.tan(theta)fig ,ax = plt.subplots()plt.rcParams["figure.figsiz

          pythonのmatplotlibでtanのグラフを作成する

          三角関数のグラフをPythonのMatplotlibで描画する

          グラフの概要 三角関数のいろいろな計算を、視覚的に確認するためにPythonのMatplotlibを使いグラフを作成してみます。簡単なグラフをつくるのであればすぐできてしまいますが、きれいにしようとすると少し工夫が必要です。とりあえず次のようなグラフを描いてみました。 import numpy as npimport matplotlib.pyplot as pltN = 100theta = np.linspace(-2*np.pi, 2*np.pi, N)sin_ =

          三角関数のグラフをPythonのMatplotlibで描画する

          ネイピア数のx乗を微分する

          ネイピア数は次の通りあらわすことができました。 $${\displaystyle e = \lim_{x\to \pm\infty} \left(1+\frac{1}{x} \right)^{x}=\lim_{x \to 0} (1+x)^{\frac{1}{x}}}$$ ここで$${\displaystyle\frac{1}{x}}$$を$${\displaystyle\frac{a}{x}}$$にすると、次のとおり変形することができます。$${\displaysty

          ネイピア数のx乗を微分する

          ネイピア数をpythonで視覚的にとらえる

          ネイピア数をグラフで直感的にとらえてみます。ネイピア数は次の通り定義します。$${\displaystyle e = \lim_{x\to \pm\infty} \left(1+\frac{1}{x} \right)^{x}}$$また、 $${\frac{1}{x}=t}$$とおくと、$${x\to \infty}$$ならば、$${{t \to 0}}$$なので、$${\displaystyle e=\lim_{x \to 0} (1+x)^{\frac{1}{x}}}$$

          ネイピア数をpythonで視覚的にとらえる

          Python matplotlibのグラフの種類

          Pythonではmatplotlibを使い、簡単にグラフを描くことができます。この中でスタイルを上手く設定することで、グラフの印象を変えることができます。そこで、このグラフのスタイルの一覧をるプログラムを作成しました。 import numpy as npimport matplotlib.pyplot as pltimport matplotlib.stylex = np.arange(0.0, 15.0, 0.1)y1 = np.sin(x)y2 = np.cos(x)

          Python matplotlibのグラフの種類

          arxtan の展開

          arctanの展開は次の式となります。 $${\displaystyle \arctan x = \sum_{n=0}^{\infty}\frac{(-1)^n}{2n+1}x^{2n+1}=x-\frac{x^3}{3}+\frac{x^5}{5}-\frac{x^7}{7}+\frac{x^9}{9}\cdots}$$ これを使い、 $${\displaystyle \frac{\pi}{4}=\arctan 1=1-\frac{1}{3}+\frac{1}{5}-

          グレゴリーライプニッツ級数で円周率を計算

          三角関数で$${\displaystyle \tan \frac{\pi}{4}=1}$$となることから、逆数を取ると次の式が成り立ちます。$${\displaystyle \tan^{-1}(1)=\arctan(1)=\frac{\pi}{4}}$$ところで、テイラー展開をすると$${\displaystyle \arctan(x) = \sum_{n=0}^{\infty}\frac{(-1)^n}{2n+1}x^{2n+1}=x-\frac{x^3}{3}+\frac

          グレゴリーライプニッツ級数で円周率を計算