Pythonと実例で学ぶ微分方程式 - はりの方程式から感染症の数理モデルまで -

Pythonと実例で学ぶ微分方程式 - はりの方程式から感染症の数理モデルまで -

豊富な例題から微分方程式を学び,またPythonで実際に動かして学ぶことができる一冊

ジャンル
発行年月日
2021/10/22
判型
B5
ページ数
200ページ
ISBN
978-4-339-06123-9
Pythonと実例で学ぶ微分方程式 - はりの方程式から感染症の数理モデルまで -
在庫あり
2営業日以内に出荷致します。

定価

3,520(本体3,200円+税)

カートに入れる

電子版を購入

購入案内

  • 内容紹介
  • まえがき
  • 目次
  • レビュー
  • 著者紹介
  • 書籍紹介・書評掲載情報
  • 広告掲載情報

多分野の実例を通して、微分方程式の活用法を学びます。実際の例として、モード解析、江崎ダイオードを用いた発振回路方程式や、感染症の数理モデル(SIRモデル)の新型コロナウイルス(COVID-19)感染データへの当てはめ等を扱います。
各章末には、合計100題の練習問題が用意されています。微分方程式の標準解法、Pythonを用いた解や流れの可視化、数式処理を用いた厳密解の計算、厳密解が求まらない微分方程式の数値計算について、すべての問題に解答(プログラムコードを含む)が付いています。Pythonを使いながら、微分方程式を現実に応用することが可能となるでしょう。

本書はIT活用型の微分方程式の教科書です。おもに,微分方程式を現実問題に応用したい学生・エンジニアの方々へ向けて書かれています。微分方程式の標準的な解法や,微分方程式が現実問題にどのように応用されるかを理解するとともに,Pythonを活用して現実問題を解けるようになることが目的です。

微分方程式は,自然科学,工学,医学などの共通言語です。多様な分野における現象を微分方程式の言葉によって記述し,現象の背後にあるメカニズムを解明し,未来を予測します。機械工学や土木工学を学ぶ方は,機械や建物の振動を解析するために微分方程式の応用としてモード解析を学ぶでしょうし,医学や疫学を学ぶ方は,感染症の拡大を予測するために微分方程式で記述された感染症の数理モデルを学ぶでしょう。本書では,こうした諸分野の入り口から少し内側にまで立ち入って,微分方程式がどのように活用されているのかまで説明します。さまざまな分野に興味を持ち,あちこち寄り道しながら微分方程式を学びたい方に向いています。

こうした多様な分野の入門的解説に加え,その多くにPythonコードが付属しており,実際に動かして学ぶことができます(サンプルコードはコロナ社の書籍紹介ページからダウンロードできます)。Matplotlibライブラリを使ったグラフの描画はもちろんですが,scipy.optimizeを用いた実データへの当てはめ方を学んだり,気象予報士の試験問題や,電験三種(第三種電気主任技術者試験)の問題を解いたりもします。その他,電気工学で使われるインピーダンスや,ローパスフィルタ回路がどのように雑音を除去するかなども学べます。微分方程式を数式処理ライブラリSymPyで解く方法を知り,scipy.odeintライブラリによる数値計算ソルバを使えるようになります。

興味がある方のために,数値解析の理論も紹介しました。例えば,scipy.odeintライブラリは内部で数値計算アルゴリズムを切り替えています。なぜ切り替えなければならないのか,なぜ標準解法として知られるルンゲ・クッタ法だけでは済まないのかなどについて,疑問に思う方がいらっしゃるかもしれません。これらについても説明し,数値計算ソルバを自分で実装できるところまで案内いたします。

事前に必要なのは,大学初年次に学ぶ微分積分学と線形代数学の知識,それにPythonの実行環境がインストールされているPCだけです。理解を深めるための章末問題も100題用意しました(解答は,コロナ社の書籍紹介ページからダウンロードできます)。楽しんでいただけたら幸いです。

本書執筆にあたり,感染症の数理モデルについては東京大学大学院数理科学研究科教授の稲葉寿先生,電気回路については東北学院大学工学部教授の𠮷川英機先生,Pythonプログラムについては同じく東北学院大学工学部講師の森島佑先生からご助言いただきました。記して感謝申し上げます。

2021年8月
神永正博

1.変数分離形の微分方程式
1.1 微分方程式とは何か
 1.1.1 微分方程式を解くということ
 1.1.2 常微分方程式と偏微分方程式
 1.1.3 NumPyとMatplotlibの基本的な使い方
 1.1.4 はりはどうたわむのか
1.2 変数分離形の方程式
 1.2.1 放射性炭素年代測定
 1.2.2 酵母菌の増殖,SciPyによる実データへの当てはめ
 1.2.3 電気伝導
 1.2.4 雨滴の落下速度
 1.2.5 懸垂線
 1.2.6 宇宙空間から月への自由落下
章末問題

2.変数分離形以外の1階微分方程式
2.1 同次系の方程式
2.2 1階線形方程式
2.3 ベルヌーイの微分方程式
2.4 完全微分方程式,contour関数による陰関数の表示
2.5 解の存在と一意性
 2.5.1 変数分離形の解法で感じる違和感
 2.5.2 解の存在と一意性の定理
 2.5.3 逐次近似解の例
 2.5.4 関数列の収束について
章末問題

3.定数係数線形方程式
3.1 典型的な運動方程式
3.2 斉次方程式を解く
3.3 特性方程式の解が複素数の場合
3.4 特性方程式が重解を持つ場合
3.5 非斉次方程式をどう解くか
 3.5.1 非斉次項が指数関数の場合
 3.5.2 P(r)=0となる場合
3.6 非斉次項が三角関数の場合
3.7 非斉次項が多項式の場合
 3.7.1 振り子時計の原理
 3.7.2 サスペンション
 3.7.3 振動工学(モード解析)
 3.7.4 電気回路
 3.7.5 インピーダンス
章末問題

4.ラプラス変換,Pythonで厳密解・流れの可視化
4.1 ラプラス変換
4.2 SymPyでシンボリックに微分方程式を解く
4.3 連立微分方程式
 4.3.11 階連立微分方程式
 4.3.2 streamplot関数による微分方程式の定める流れの可視化
 4.3.3 微分方程式の定める流れの局所理論
 4.3.4 行列の指数関数
章末問題

5.Pythonで微分方程式を解く
5.1 微分方程式ソルバの使い方
 5.1.1 極限周期軌道(リミットサイクル)
 5.1.2 トンネルダイオードとファン・デル・ポル方程式
 5.1.3 ローレンツ方程式とカオス・数値計算の誤差
5.2 感染症の数理モデルを解く
 5.2.1 SIRモデル
 5.2.2 PythonでSIRモデルを解いてみよう
 5.2.3 SEIRモデル
 5.2.4 現実データへの当てはめ
章末問題

6.Pythonで数値解析
6.1 基本的な数値計算アルゴリズム
 6.1.1 オイラー法
 6.1.2 素朴な数値解法がうまくいかない場合
 6.1.3 ルンゲ・クッタ法
6.2 odeintライブラリで使われている数値解法と硬い方程式
 6.2.1 アダムス・バッシュフォース法の考え方
 6.2.2 ルンゲ現象
 6.2.3 アダムス・バッシュフォース・モールトン法
 6.2.4 硬い方程式と数値的安定性
 6.2.5 後退微分法

章末問題
引用・参考文献
索引

読者モニターレビュー【 小林 将大 様(ご専門:統計的機械学習 )】

本書の優れている点として,理論的な説明・現実への適用事例・Pythonでのハンズオンの3つのバランスがあげられると思います.まず理論的な説明を行い,実際の現象の例を用いてその理論の感覚的な理解を促し,最後にその理論の適用可能な問題を計算機で解く,という流れが非常に鮮やかです.理論解説における数式展開もかなり細かく行われており,「数式展開が分からなくてつまづく」という数学書の独学でよく遭遇する問題にも適切に対処されていると思います.理論的な説明が理解しきれなくとも,コードを書いたりその出力結果を可視化するなど,実際に手を動かすことで理解が進む,という多面的な学習も 可能であると感じました.そのため,私のような微分方程式の初学者であっても.難なく本書を読み進めることが可能です.
加えて本書は,理論解説の後に設置される例題や章末問題が非常に豊富であり,実践的な問題集でもあると感じました.そのため,独学で微分方程式を学ばれる方でも問題演習を通して理解度を確認することができる優れた書籍だと思います.

読者モニターレビュー【 もろ 様(ご専門:情報系•電気電子系)】

「Pythonと実例で学ぶ微分方程式 -はりの方程式から感染症の数理モデルまで-」は微分方程式が我々の生活とどのようにかかわっているか知りたい学生やエンジニアに向けて書かれています。微分方程式の基礎や実用例を学ぶとともに、Pythonを用いた微分方程式の解法の書き方も学ぶことができます。

この本の注目すべき点は常微分方程式の実用例が充実していることです。私はこれまで様々な微分方程式の本や資料を読んできましたがここまで具体例が多い本は他に見たことがありません。雨水の落下速度や糸の張りといった日常的に目にするものから、せん断形構造物やトランジスタといった専門的なものまで幅広く取り上げています。加えて、それぞれに詳しく解説されたソースコードと結果が掲載されているため現象が把握しやすくなっています。また、ところどころ注釈が設けられておりその現象の補足がついているので読者の理解を助けたり、興味を引いてくれます。

逆に、この本の残念な点はPythonの基礎について説明されていないという点です。本文中に「ライブラリ」や「引数」といった言葉が出てきたり、ソースコード中では「関数」が出てきますがこれらの説明は一切ないので、あらかじめPythonの基礎知識を別の本で身に着けてから読む必要があります。

以上を踏まえると、この本は良書と言えるでしょう。私は読んでよかったと思います。

amazonレビュー

レビュー,書籍紹介・書評掲載情報一覧

神永 正博(カミナガ マサヒロ)

「電子情報通信学会誌」105巻,8号,2022/8/1,785頁,copyright(c)2021 IEICE 掲載日:2022/09/05

レビュー,書籍紹介・書評掲載情報一覧

掲載日:2022/08/22

「数理科学」2022年9月号広告

掲載日:2022/03/14

「数学セミナー」2022年4月号広告

掲載日:2021/12/13

「計測と制御」2021年12月号広告

掲載日:2021/12/02

「化学と工業」2021年12月号

掲載日:2021/11/26

日刊工業新聞広告掲載(2021年11月26日)

掲載日:2021/10/18

「数理科学」2021年11月号広告

掲載日:2021/10/14

情報処理学会誌「情報処理」2021年11月号広告

掲載日:2021/10/07

読売新聞広告掲載(2021年10月7日)

掲載日:2021/10/06

「日本機械学会誌」2021年10月号広告

掲載日:2021/09/30

「電子情報通信学会誌」2021年10月号広告

サンプルプログラムが拡充されました!
・Google ColaboratoryやJupyter Notebookユーザーのために、(これまでの*.pyファイルに加え)
*.ipynbファイルを用意しました。
 これを使えば、そのまま開いて効率的に実習が進められます。

ファイルは本ページの左側『関連資料(一般)』のDLファイル内に格納されております。使い方については、ファイル内のREADMEもご参照ください。

関連資料(一般)

  • Pythonプログラムコード(※24/11/01更新)
  • 章末問題解答(1章から6章)
  • 章末問題解答(1章)
  • 章末問題解答(2章)
  • 章末問題解答(3章)
  • 章末問題解答(4章)
  • 章末問題解答(5章)
  • 章末問題解答(6章)

関連資料ダウンロードはこちら