88
100

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Python を使ってお手軽に数学 gif を作ってみよう

Last updated at Posted at 2018-03-09

本記事では Windows を使っている人向けに、Anaconda3 をインストールし、jupyter notebook を使って以下のような gif ファイルを生成するところまでを解説します。

gif
[2020/11/06追記] 環境構築が不要な Google Colaboratory での数学gifの作成についての記事を作成しました:[Google Colaboratory を使ってお手軽に数学 gif を作ってみよう - @wakabame][9]

Anaconda3 をインストールしよう

この章は以下の記事を参考にしました:
[Anaconda で Python 環境をインストールする - @t2y][1]
[Python3.6環境構築(Win環境Anaconda利用) - @kiyoneet][2]

1. Anaconda3 のダウンロードとインストール

まず、[https://www.anaconda.com/download/][3] から Anaconda3 をダウンロードします。

1.png

Python 3.6 が入っている左側のものを選びましょう。ダウンロードが済んだら実行します。
インストーラの指示に従って進めていきます。
インストール先は C ドライブ直下の方が何かと便利だと思うので、ここだけ変更します。

2.png

2. Anaconda3 にパスを通す

パスを通します。Windows8 であれば、
[コントロールパネル] -> [システム] -> [システムの詳細設定]
で行けます。

3.png

[環境変数]を開き、Pathという変数を編集(あるいは新規に作成)し、
'C:\Anaconda3;C:\Anaconda3\Scripts;C:\Anaconda3\Library\bin'
と書き込みます。これでコマンドラインから Python や jupyter を呼び出せるようになりました。

3. コマンドラインから Python を起動する

[ウィンドウズボタン] + [xキー] を押し、 [コマンドプロンプト] を起動します。

8.png

黒い画面が出てきます。
Python を使えるかチェックするために、少し動かしてみましょう。

4.png

4. matplotlib のアップデート

matplotlib のアップデートをします。
[conda update -n base conda] を打ち込みエンターします。

5.png

二択を迫られます。[y] と返します。
今度は[conda update matplotlib] と打ち込みエンターします。

6.png

再び二択を迫られます。[y] と返します。
これで準備が整いました。

jupyter notebook を使おう

2次元正方形領域における波動方程式の初期値境界値問題を考えます。
手前味噌ですが以下の記事を参照してください:
[Python で波動方程式の数値計算と動画 gif の書き出しをやらせてみよう - わかばめにっき][5]
Qiita 記事では
[[Pythonによる科学・技術計算] FTCS法(陽解法)による1次元・2次元波動方程式の数値解法,双曲型偏微分方程式 - @sci_Haru][4]
が参考になります。

1. jupyter notebook の起動

黒い画面で [jupyter notebook] と打ち込みエンターすると、ブラウザ上に notebook が起動します。
右上の [New] ボタンから、Python3 を起動しましょう。

7.png

すると、Untitled1 という空のノートブックが作成されます。

9.png

セルに Python のコードを書いて、Ctrl + Enter や Shift + Enter をすることで実行されます。
試してみましょう。

2. notebook 上で数値計算

[サンプルコード][6] をコピペしながら手元の環境で動くかを確認してください。
こんな感じに波の伝播現象が描画されるはずです。

10.png

3. 動画を gif に書き出す

下から2行目の先頭にあるコメントアウト"#"を外すと、作業フォルダにgif ファイルが吐き出されます。
gif

最後に

先日の matplotlib の更新でより手軽に gif を作成できるようになりました。現時点で最も”楽な”方法の一つではあると思いますが、他に良い方法があれば教えていただきたいです。
数学 gif が増えること、その手法が洗練されていくことを願っています。

jupyter notebook を起動したときの最初のフォルダの変更は、次の記事を参照してください:
[Python:Jupyter Notebookの初期ディレクトリが変わらない時の対処方法 - @chanmaru][7]
[1]:https://qiita.com/t2y/items/2a3eb58103e85d8064b6
[2]:https://qiita.com/kiyoneet/items/f440ac890e1a7a5931e8
[3]:https://www.anaconda.com/download/
[4]:https://qiita.com/sci_Haru/items/8535f435ffa1febcd445
[5]:http://wakabame.hatenablog.com/entry/2018/03/07/205717
[6]:https://github.com/wakabame/2D_wave_FTCS/blob/master/2_dim_wave.ipynb
[7]:https://qiita.com/chanmaru/items/3880d6fb23a1fcbefe3a
[8]:https://matplotlib.org/examples/animation/
[9]:https://qiita.com/wakabame/items/e98259fef767a2074464

88
100
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
88
100

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?