数学・物理をプログラミングで考える · 実際の問題を数値計算で解く!...

2
数学・物理をプログラミングで考える 田浦健次朗 (2)・山崎俊彦 (4) 内容: 物理・数学の問題をコンピュータ (数値計算) で解く http://pmp.eidos.ic.i.u-tokyo.ac.jp/ (http://bit.ly/1ZFu6q2) def animate(y0, v0): v = v0 y = y0 c = 15 dt = 0.01 for i in range(10000): alpha = - 0.01 * v - 2.0 * y v = v + alpha * dt y = y + v * dt コンピュータ 物理 数学 数値計算法 (アルゴリズム) 法則記述 (微分⽅程式) 可視化・アニメーション 目標: 実際の問題を数値計算で解く プログラミングを学ぶ動機 そのための物理や数学を学ぶ 数学・物理を学ぶ動機 解決のための,自発的な勉強,試 行錯誤 モットー: 物理法則の価値・すごさを「解ける」ことで実感 (シュレディンガー,ナビエストークス,解析力学,...) 大学数学の価値・すごさを「解くために使う」ことで実感 (n × n 行列, 多変数の微積分, 偏微分方程式, ...) 1/2

Transcript of 数学・物理をプログラミングで考える · 実際の問題を数値計算で解く!...

Page 1: 数学・物理をプログラミングで考える · 実際の問題を数値計算で解く! プログラミングを学ぶ動機 そのための物理や数学を学ぶ! 数学・物理を学ぶ動機

数学・物理をプログラミングで考える田浦健次朗 (水 2)・山崎俊彦 (金 4)

内容: 物理・数学の問題をコンピュータ (数値計算)で解くhttp://pmp.eidos.ic.i.u-tokyo.ac.jp/ (http://bit.ly/1ZFu6q2)

def animate(y0, v0): v = v0 y = y0 c = 15 dt = 0.01 for i in range(10000): alpha = - 0.01 * v - 2.0 * y v = v + alpha * dt y = y + v * dt

コンピュータ

物理

数学数値計算法(アルゴリズム)

法則の記述(微分⽅程式) 可視化・アニメーション

目標:

▶ 実際の問題を数値計算で解く→ プログラミングを学ぶ動機

▶ そのための物理や数学を学ぶ→ 数学・物理を学ぶ動機

▶ 解決のための,自発的な勉強,試行錯誤

モットー:

▶ 物理法則の価値・すごさを「解ける」ことで実感(シュレディンガー,ナビエストークス,解析力学,. . . )

▶ 大学数学の価値・すごさを「解くために使う」ことで実感(n× n 行列, 多変数の微積分, 偏微分方程式, . . . )

1 / 2

Page 2: 数学・物理をプログラミングで考える · 実際の問題を数値計算で解く! プログラミングを学ぶ動機 そのための物理や数学を学ぶ! 数学・物理を学ぶ動機

身につくスキル・進行形式

スキル:

▶ 簡単・強力なプログラミング言語:Python

▶ 強力なライブラリ・パッケージ: 3Dアニメーション, データ可視化, 行列計算, 最大最小化, 方程式, . . .

形式:

▶ 数人のグループで, 作戦会議と作業▶ 進捗共有・議論のためのミニ発表 (数件/週)

▶ 最終回発表▶ 進行 (目安)

1-2 ガイダンス・大人数講義3 イントロ, 問題 (候補) 提示4-6 スキルに関する説明と練習7-11 問題解決に向けた議論,作業 (プログラミング)12-13 発表準備,発表会

2 / 2