SlideShare a Scribd company logo
1 of 27
今日からはじめる
微分方程式
Ryo KAJI
2015/8/7 プログラマのための数学勉強会 #4 1
自己紹介
• 高専 専攻科 中退 → 会社員
• 科目等履修生(東工大)
• 最近ほしいもの:
• 単位(落としました……)
• FPGAの勉強会の会場
2015/7/24 プログラマのための数学勉強会 #4 3
発表テーマの経緯
• 最初は制御工学の発表を想定していた。
• 以下の応用事例
• IoT : モータの回転量、トルク、電圧電流量の設計
• Web : サーバの負荷、メモリ利用量の調整
• しかし……
• 制御モデルの表現・解析で微分方程式が不可避
• まずは微分方程式に慣れてもらうことにした
2015/7/24 プログラマのための数学勉強会 #4 4
概要
• 目的
微分方程式がラプラス変換で解けることを知る
※ 条件: 線形かつすべての係数が定数であること
• 話すこと
1. 微分方程式の分類と代表的な解き方
2. 演算子法による解法
3. ラプラス変換による解法
2015/7/24 プログラマのための数学勉強会 #4 5
微分方程式と解きかた
分類と簡単な例
2015/8/7 プログラマのための数学勉強会 #4 6
微分方程式の分類(1/2)
• 未知関数 𝑓(𝑥) とその導関数 𝑓 𝑛
(𝑥) を含む方程式
• 常微分方程式 : 𝑓(𝑥) が一変数関数
• ニュートンの運動方程式
𝑚𝒙′′ = 𝑭
• 偏微分方程式 : 二変数以上
• 波動方程式
1
𝑠2
𝜕2 𝑢
𝜕𝑡2
=
𝜕2 𝑢
𝜕𝑥2
+
𝜕2 𝑢
𝜕𝑦2
+
𝜕2 𝑢
𝜕𝑧2
2015/7/24 プログラマのための数学勉強会 #4 7
微分方程式の分類(2/2)
• 線形: 以下の形で書けるもの
𝑦 𝑛
+ 𝑝 𝑛−1 𝑥 𝑦 𝑛−1
+ ⋯ + 𝑝0 𝑥 𝑦 = 𝑞 𝑥
• 斉次: 𝑞(𝑥) = 0
• 非斉次: 𝑞(𝑥) ≠ 0
• 非線形: 線形でないもの
• 例: Van der Pol 振動子
𝑥′′ − 𝜇 1 − 𝑥2 𝑥′ + 𝑥 = 0
2015/7/24 プログラマのための数学勉強会 #4 8
微分方程式の例(1/2)
• 例: 2階線形
𝑦′′ = −𝑦
• 一般解: 𝑦 𝑥 = 𝐶1 cos 𝑥 + 𝐶2 sin 𝑥
• 任意定数𝐶1, 𝐶2を含む解
• 特殊解: 𝑦 𝑥 = sin 𝑥
• 方程式を満たす解の一つ↔ある任意定数における解
2015/7/24 プログラマのための数学勉強会 #4 9
微分方程式の例(2/2)
• 例: 1階線形
𝑦′ = 𝑎𝑦
• 一般解: 𝑦 𝑥 = 𝐶1 𝑒 𝑎𝑥
• この例は置換積分法で計算できる
• 特殊解: 𝑦 𝑥 = 𝑒 𝑎𝑥
2015/7/24 プログラマのための数学勉強会 #4 10
微分方程式の解法(1/4)
• 一般解を求める手順
1. まず 𝑦 𝑛
を 𝛼 𝑛
に置き換えた方程式を作る
2. 1. で作った方程式を解く
3. 関数 𝑦 = Const 𝑒 𝛼𝑥
の線形結合が一般解
• ※2. の解には重解がないものとする
• (重解 → 線形独立でなくなる)
2015/7/24 プログラマのための数学勉強会 #4 11
微分方程式の解法(2/4)
• 例: 1階線形
𝑎𝑦′ + 𝑏𝑦 = 0
1. 方程式 𝑎𝛼 + 𝑏 = 0 の解は 𝛼 = −
𝑏
𝑎
2. 一般解: 𝑦 𝑥 = (Const)𝑒−
𝑏
𝑎
𝑥
2015/7/24 プログラマのための数学勉強会 #4 12
微分方程式の解法(3/4)
• 例: 2階線形
𝑎𝑦′′ + 𝑏𝑦′ + 𝑐𝑦 = 0
1. 方程式 𝑎𝛼2
+ 𝑏𝛼 + 𝑐 = 0 の二解を𝛼1, 𝛼2とする
2. 一般解: 𝑦 𝑥 = 𝐶1 𝑒 𝛼1 𝑥
+ 𝐶2 𝑒 𝛼2 𝑥
2015/7/24 プログラマのための数学勉強会 #4 13
微分方程式の解法(4/4)
• 例: 2階線形 非斉次
𝑎𝑦′′ + 𝑏𝑦′ + 𝑐𝑦 = 𝑓(𝑥)
1. まず 𝑎𝑦′′
+ 𝑏𝑦′
+ 𝑐𝑦 = 0 の解 𝑦0 を求める
2. 特殊解 𝑦𝑝 を(適当な方法で)見つける
3. 一般解は 𝑦0 + 𝑦𝑝
2015/7/24 プログラマのための数学勉強会 #4 14
ここまでのまとめ
• 微分方程式の種類と解法の一つを紹介した
• 線形微分方程式
• 斉次(𝑞(𝑥) = 0) → 代数方程式の解から一般解が求まる
• 課題
• 非斉次の場合 → 特殊解を求める技術が要る
• そもそも工学で必要なのは(ある条件下での)特殊解
2015/7/24 プログラマのための数学勉強会 #4 15
ラプラス変換とその応用
RC直列回路を例題に
2015/8/7 プログラマのための数学勉強会 #4 16
例題 : RC回路
By Splash
• 𝑉𝑖𝑛 𝑡 = 𝑢 𝑡 ; 𝑢(𝑡) =
1 𝑡 > 0
0 𝑡 ≤ 0
• 条件:(𝑡 ≤ 0; 𝑉𝐶 = 0) のとき𝑉𝐶 𝑡 は?
2015/7/24 プログラマのための数学勉強会 #4 17
へヴィサイドの演算子法(1/3)
• Oliver Heaviside(1850-1925)が発明
• 線形微分方程式の解法に利用される
• 𝑓 を微分する → 𝑝 を 𝑓 に乗じる
• 𝑓′ → 𝑝𝑓
• 𝑎𝑦′ + 𝑏𝑦 = 0 → 𝑝(𝑎𝑦) + 𝑏𝑦 = 0
•
1
𝑝
→ 積分する
2015/7/24 プログラマのための数学勉強会 #4 18
へヴィサイドの演算子法(2/3)
• 微分演算子 𝑝 を使うと先のRC回路は……
𝑢 𝑡 = 𝑅𝐼 + 𝑉𝐶
𝐼 = 𝐶(𝑉𝐶)′
→
𝑢 𝑡 = 𝑅𝐶(𝑉𝐶)′ + 𝑉𝐶
𝑢 𝑡 = 𝑝 𝑅𝐶𝑉𝐶 + 𝑉𝐶
• 解は次の計算で求まる
• 𝑢 𝑡 = 𝑝𝑅𝐶 + 1 𝑉𝐶, → 𝑉𝐶 =
𝑢 𝑡
1+𝑝𝑅𝐶
• 𝑉𝐶 =
𝑥
1+𝑥
𝑢 𝑡 = 𝑥 1 − 𝑥 + 𝑥2
− ⋯ 𝑢 𝑡 𝑥 =
1
𝑝𝑅𝐶
• 𝑉𝐶 = 𝑥 − 𝑥2
+ 𝑥3
− ⋯ 𝑢 𝑡
• 𝑉𝐶 = 1 − 1 − 𝑥 + 𝑥2
− 𝑥3
+ ⋯ 𝑢 𝑡
2015/7/24 プログラマのための数学勉強会 #4 19
へヴィサイドの演算子法(3/3)
• 1/𝑝 は 積分を意味するので
• 𝑥𝑢 𝑡 =
1
𝑝
1
𝑅𝐶
𝑢 𝑡 =
1
𝑅𝐶 0
𝑡
𝑢 𝑡 𝑑𝑡 =
𝑡𝑢(𝑡)
𝑅𝐶
• 𝑥2 𝑢 𝑡 =
1
2
𝑡2 𝑢(𝑡)
𝑅𝐶 2 , ⋯ , 𝑥 𝑛 𝑢 𝑡 =
1
𝑛!
𝑡 𝑛 𝑢(𝑡)
𝑅𝐶 𝑛 , ⋯
• 𝑉𝐶 = 1 − 1 −
𝑡
𝑅𝐶
+
1
2
𝑡
𝑅𝐶
2
−
1
3!
𝑡
𝑅𝐶
3
+ ⋯ 𝑢 𝑡
• 𝑉𝐶 = 1 − 𝑒−
𝑡
𝑅𝐶 𝑢 𝑡
2015/7/24 プログラマのための数学勉強会 #4 20
演算子法の問題点
• 演算子 𝑝 の曖昧さ
• 代数のように扱っていいのか?
• そもそも 𝑝 + 𝑝2 + 𝑝3 + ⋯ 𝑓 𝑡 は収束するのか?
• しかし便利な手法だった……
• 後にラプラス変換として発展し、現在使われる
• 演算子法自体も後に研究された(例: Mikusiński)
2015/7/24 プログラマのための数学勉強会 #4 21
ラプラス変換(1/2)
• 関数f(t)のラプラス変換
𝐹 𝑠 = ℒ 𝑓 𝑡 =
0
∞
𝑓 𝑡 𝑒−𝑠𝑡
𝑑𝑡
• 定義通り計算することは少ない
• 積分に基づくので線形性がある
• 逆変換は複素積分になる
• 変換表が存在する
2015/7/24 プログラマのための数学勉強会 #4 22
ラプラス変換(2/2)
• 計算に最低限必要なもの
1. ℒ 𝑢 𝑡 =
1
𝑠
2. ℒ 𝑓 𝑡 𝑒−𝑎𝑡 = 𝐹(𝑠 + 𝑎)
3. ℒ 𝑓 𝑡 − 𝑎 𝑢(𝑡 − 𝑎) = 𝐹 𝑠 𝑒−𝑎𝑠
4. ℒ 𝑓′ 𝑡 = 𝑠𝐹 𝑠 − 𝑓 0
以上の組み合わせで例題は解ける
2015/7/24 プログラマのための数学勉強会 #4 24
例題 : RC回路(再掲)
By Splash
• 𝑉𝑖𝑛 𝑡 = 𝑢 𝑡 ; 𝑢(𝑡) =
1 𝑡 > 0
0 𝑡 ≤ 0
• 条件:(𝑡 ≤ 0; 𝑉𝐶 = 0) のとき𝑉𝐶 𝑡 は?
2015/7/24 プログラマのための数学勉強会 #4 25
ラプラス変換による解法
• 解くべき微分方程式 ; 𝑢 𝑡 = 𝑅𝐶(𝑉𝐶)′ + 𝑉𝐶
1. 両辺をラプラス変換する
ℒ 𝑢 𝑡 =
1
𝑠
= 𝑅𝐶 𝑠ℒ 𝑉𝐶 − 𝑉𝐶 0 + ℒ 𝑉𝐶
2. 式変形する(部分分数分解が必要)
ℒ 𝑉𝐶 =
1
1 + 𝑠𝑅𝐶
1
𝑠
=
1
𝑠
−
1
𝑠 + 1/𝑅𝐶
3. 対応する関数を探す
𝑉𝐶 = 𝑢 𝑡 − 𝑒−
1
𝑅𝐶
𝑡
𝑢 𝑡 = 1 − 𝑒−
𝑡
𝑅𝐶 𝑢 𝑡
2015/7/24 プログラマのための数学勉強会 #4 26
ラプラス変換による解法
• いいところ: 以下の計算で解が求まる
• 二次方程式
• 代数計算
• よくないところ:
• 部分分数分解が面倒
• ラプラス逆変換: 𝑓 𝑡 = lim
𝑝→∞
1
2𝜋𝑖 𝑐−𝑖𝑝
𝑐+𝑖𝑝
𝐹 𝑠 𝑒 𝑠𝑡 𝑑𝑠
2015/7/24 プログラマのための数学勉強会 #4 27
まとめ
• 微分方程式は次の場合において機械的に解ける
• 常微分(一変数)
• 線形
• 定数係数
• ラプラス変換により微分積分なしに解が求まる
• 非斉次方程式に対しても適用可能
2015/7/24 プログラマのための数学勉強会 #4 28
参考:
• Maxima(Common Lisp製の数式処理ソフト)
• ラプラス変換/逆変換が計算できます
• URL: http://maxima.sourceforge.net/
2015/7/24 プログラマのための数学勉強会 #4 29

More Related Content

What's hot

kagami_comput2015_4
kagami_comput2015_4kagami_comput2015_4
kagami_comput2015_4
swkagami
 
kagami_comput2015_9
kagami_comput2015_9kagami_comput2015_9
kagami_comput2015_9
swkagami
 
kagami_comput2015_1
kagami_comput2015_1kagami_comput2015_1
kagami_comput2015_1
swkagami
 

What's hot (18)

AtCoder Regular Contest 032 解説
AtCoder Regular Contest 032 解説AtCoder Regular Contest 032 解説
AtCoder Regular Contest 032 解説
 
AtCoder Beginner Contest 010 解説
AtCoder Beginner Contest 010 解説AtCoder Beginner Contest 010 解説
AtCoder Beginner Contest 010 解説
 
kagami_comput2015_4
kagami_comput2015_4kagami_comput2015_4
kagami_comput2015_4
 
AtCoder Beginner Contest 033 解説
AtCoder Beginner Contest 033 解説AtCoder Beginner Contest 033 解説
AtCoder Beginner Contest 033 解説
 
kagami_comput2015_9
kagami_comput2015_9kagami_comput2015_9
kagami_comput2015_9
 
kagamicomput201808
kagamicomput201808kagamicomput201808
kagamicomput201808
 
AtCoder Regular Contest 018 解説
AtCoder Regular Contest 018 解説AtCoder Regular Contest 018 解説
AtCoder Regular Contest 018 解説
 
AtCoder Beginner Contest 005 解説
AtCoder Beginner Contest 005 解説AtCoder Beginner Contest 005 解説
AtCoder Beginner Contest 005 解説
 
知識情報システム主専攻_主専攻実習最終発表会
知識情報システム主専攻_主専攻実習最終発表会知識情報システム主専攻_主専攻実習最終発表会
知識情報システム主専攻_主専攻実習最終発表会
 
kagami_comput2015_1
kagami_comput2015_1kagami_comput2015_1
kagami_comput2015_1
 
ブースティング入門
ブースティング入門ブースティング入門
ブースティング入門
 
AtCoder Beginner Contest 035 解説
AtCoder Beginner Contest 035 解説AtCoder Beginner Contest 035 解説
AtCoder Beginner Contest 035 解説
 
T77 episteme
T77 epistemeT77 episteme
T77 episteme
 
AtCoder Beginner Contest 004 解説
AtCoder Beginner Contest 004 解説AtCoder Beginner Contest 004 解説
AtCoder Beginner Contest 004 解説
 
AtCoder Beginner Contest 017 解説
AtCoder Beginner Contest 017 解説AtCoder Beginner Contest 017 解説
AtCoder Beginner Contest 017 解説
 
1+1=2の話(coinsのOCのLTで話したやつ)
1+1=2の話(coinsのOCのLTで話したやつ)1+1=2の話(coinsのOCのLTで話したやつ)
1+1=2の話(coinsのOCのLTで話したやつ)
 
1+1=2の話
1+1=2の話1+1=2の話
1+1=2の話
 
AtCoder Regular Contest 039 解説
AtCoder Regular Contest 039 解説AtCoder Regular Contest 039 解説
AtCoder Regular Contest 039 解説
 

Similar to 今日からはじめる微分方程式

勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba
 
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
Masami Yabushita
 
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうかわんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
Masami Yabushita
 
リテラル文字列型までの道
リテラル文字列型までの道リテラル文字列型までの道
リテラル文字列型までの道
Satoshi Sato
 

Similar to 今日からはじめる微分方程式 (20)

第14回 配信講義 計算科学技術特論B(2022)
第14回 配信講義 計算科学技術特論B(2022)第14回 配信講義 計算科学技術特論B(2022)
第14回 配信講義 計算科学技術特論B(2022)
 
VBAとPythonで始める数値計算教育
VBAとPythonで始める数値計算教育VBAとPythonで始める数値計算教育
VBAとPythonで始める数値計算教育
 
210122 msi dp
210122 msi dp210122 msi dp
210122 msi dp
 
Optimization night 4_dp
Optimization night 4_dpOptimization night 4_dp
Optimization night 4_dp
 
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
 
第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)
 
Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識
 
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
 
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうかわんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
 
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
Pythonで始めた数値計算の授業@わんくま勉強会2018-04Pythonで始めた数値計算の授業@わんくま勉強会2018-04
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
 
Nagoya.R #12 入門者講習
Nagoya.R #12 入門者講習Nagoya.R #12 入門者講習
Nagoya.R #12 入門者講習
 
リテラル文字列型までの道
リテラル文字列型までの道リテラル文字列型までの道
リテラル文字列型までの道
 
ランダムフォレスト
ランダムフォレストランダムフォレスト
ランダムフォレスト
 
RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介
 
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
 
レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法
 
ランダムフォレストとそのコンピュータビジョンへの応用
ランダムフォレストとそのコンピュータビジョンへの応用ランダムフォレストとそのコンピュータビジョンへの応用
ランダムフォレストとそのコンピュータビジョンへの応用
 
Proof summit 2017 for slideshare
Proof summit 2017 for slideshareProof summit 2017 for slideshare
Proof summit 2017 for slideshare
 
第3回 JavaScriptから始めるプログラミング2016
第3回 JavaScriptから始めるプログラミング2016第3回 JavaScriptから始めるプログラミング2016
第3回 JavaScriptから始めるプログラミング2016
 
Operations research yonezawa_no1
Operations research yonezawa_no1Operations research yonezawa_no1
Operations research yonezawa_no1
 

Recently uploaded

Recently uploaded (10)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

今日からはじめる微分方程式

Editor's Notes

  1. 集合で絵を描く
  2. 定義通り計算しない
  3. 定義通り計算しない