Pythonの概念と、それを使うプロジェクト
コース全体ではなく、ひとつのことを探していますか?下の概念はどれも、パターンを作る短いスクリプトで使われていて、レッスンがそれを1行ずつ説明します。
- レッスン1 · 初級 配列と角度 「黄金角」で学ぶ
- np.arange でつくる numpy の配列
- 配列全体にまとめて計算する
- ラジアン、np.cos と np.sin
- 角度と距離から x と y へ
- 値で色をつける散布図
- レッスン2 · 初級 ループと余り 「円周上の掛け算」で学ぶ
- zip で組にしたものを回す for ループ
- 余り % と、ひと回りして戻る角度
- plt.plot で2点を結ぶ線
- パラメーターをひとつ変えて探る
- レッスン3 · 初級 乱数と数えあげ 「ガルトンボード」で学ぶ
- np.random.default_rng による乱数
- 1と0として数えられる True と False
- np.bincount で数える
- リスト内包表記
- 公式と照らし合わせるシミュレーション
- レッスン4 · 中級 覚えているループ 「カオスゲーム」で学ぶ
- 状態を1ステップから次へ引き継ぐループ
- rng.integers による整数の乱数
- 条件のための while ループ
- 点の配列とスライス
- np.column_stack
- レッスン5 · 中級 配列にかける公式 「振り子の波」で学ぶ
- 配列全体に当てはめる物理の公式
- すばやく確かめるための np.round と print
- plt.subplots で並べる複数の図
- f文字列
- 位相:振り子が往復のどこにいるか
- レッスン6 · 中級 関数と再帰 「ソート競争」で学ぶ
- 関数と、関数を値として渡すこと
- 再帰:小さな部分について自分自身を呼ぶ関数
- 辞書に入れておくカウンター
- 結果を確かめる assert
- 仕事の増え方:n² 対 n·log n
- レッスン7 · 中級 時間を一歩ずつ進める 「回転するリングの中のボール」で学ぶ
- シミュレーション:while ループの中の小さな時間ステップ
- numpy の配列としてのベクトル
- 内積と反射
- np.arctan2 による角度と、その折り返し
- ループを抜ける break
- レッスン8 · 上級 力と積分 「三体の軌道」で学ぶ
- ベクトルで表すニュートンの重力
- 天体の組を回す入れ子のループ
- 積分のリープフロッグ法
- 3次元配列:ステップ × 天体 × 座標
- 変わってはいけないもので確かめるシミュレーション
- レッスン9 · 上級 グリッドと拡散 「チューリングパターン」で学ぶ
- マスのグリッドとしての2次元配列
- 端が折り返す、np.roll によるとなりのマス
- ラプラシアン:マスと、そのとなりのマスとの差
- グリッド全体を1行で更新する
- plt.imshow で配列を表示する