コンピュータを用いた様々な解析は、今や多くの分野で必須のスキルになっている.本講義では,大規模数値計算などでよく用いられているFortran 90/95を用いて,プログラミングの基本的な文法や,研究・開発の現場で必要となる主な数値解析法のアルゴリズムや基本的なプログラミング方法を学習する.
この講義を通して,プログラミングをこれまでほとんど経験したことの無いような学生が,数値解析のアルゴリズムを理解し,基本的な解析プログラムが作成出来るようになることを目指す.
この講義を履修することによって,
(1) プログラミングのための基本文法を理解し,
(2) 研究・開発の現場で必要となる主な数値解析法のアルゴリズムを習得し,
(3) 自らのニーズに合わせて現象を数値解析するための基本的なプログラムを作成できるようになる.
数値解析,アルゴリズム,Fortran,プログラミング
✔ 専門力 | 教養力 | コミュニケーション力 | 展開力(探究力又は設定力) | 展開力(実践力又は解決力) |
学術国際情報センターの端末を用いてプログラミングの基礎やアルゴリズムについて講義と演習を織り交ぜながら学習する.対面での演習が困難になった場合は,オンラインで実施する場合もある.
授業計画 | 課題 | |
---|---|---|
第1回 | 演習:ガイダンス,土木分野における数値解析の歴史,プログラミングと計算機の使い方 | ガイダンスおよび演習室のルール 数値解析がどのような場面で役に立っているかを理解する 演習室のプログラム環境設定および簡単なFortranプログラミング演習 |
第2回 | 演習:プログラミングの基礎(1):組み込み型,ループ,条件分岐,関数 | ループ・条件分岐の理解と,計算結果の可視化方法の習得 |
第3回 | 演習:プログラミングの基礎(2):ユーザー定義派生型・配列・サブルーチン,モジュール | 型や組込関数、配列の概念の理解と簡単な例題による演習・サブルーチンの使い方と、簡単な応用 |
第4回 | 演習:内積,行列ベクトル積,テイラー展開 | 配列を用いた行列の扱い方と、基本的な行列演算の実装 |
第5回 | 講義・演習:ガウスの消去法による連立方程式の求解 | ガウス消去法のアルゴリズムの理解とFortranでの基本的な実装 |
第6回 | 講義・演習︓フーリエ変換とDFTを使った時系列処理 | フーリエ変換の理論と高速フーリエ変換 |
第7回 | 講義・演習:台形公式とガウス・ルジャンドル積分による数値積分 | 数値積分法(台形公式・ガウス・ルジャンドル積分)のアルゴリズムの理解と実装 |
第8回 | 講義・演習:グリッドサーチ/PSOによる最適化 | 最適化手法の実装(グリッドサーチ,particle swarm optimization) |
第9回 | 講義:Newton法による非線形方程式の求解 | Newton法のアルゴリズムの理解と、Newton法を用いた応用問題 |
第10回 | 演習:Newton法による非線形方程式の求解 | Newton法のアルゴリズムの実装 |
第11回 | 講義:常微分⽅程式の求解と精度検証(1,2自由度系の非減衰振動) | 1, 2自由度系の応答の理論 |
第12回 | 演習:常微分⽅程式の求解と精度検証(1,2自由度系の非減衰振動) | 1, 2自由度系の応答の数値解析 |
第13回 | 講義:偏微分⽅程式の求解と精度検証(1次元波動方程式) | 1次元波動方程式の解法 |
第14回 | 演習:偏微分⽅程式の求解と精度検証(1次元波動方程式) | 1次元波動方程式の数値解析 |
第15回 | 演習:最終課題・質問等 | 質疑等 |
学修効果を上げるため,教科書や配布資料等の該当箇所を参照し,「毎授業」授業内容に関する予習と復習(課題含む)をそれぞれ概ね100分を目安に行うこと。
なし
講義資料等は必要に応じて講義前にT2SCHOLAを通して配布する.
また,以下の書籍を推奨するが授業では用いない.
松本敏郎・野老山貴行:みんなのFortran --基礎から発展まで--,名古屋大学出版会,2022, ISBN978-8158-1087-0
牛島省:数値計算のためのFortran90/95プログラミング入門,第2版,森北出版,2020, ISBN978-4-627-84722-4
Metcalf, M., Reid, J., and Chen, M.: Modern Fortran explained -- Incorporating Fortran 2018, Oxford university press, 2018, ISBN978-0-19-881188-6
レポートによって総合的に評価する。
オンラインでの演習となった場合は,自宅のPCにfortranコンパイラをインストールして演習を実施します.自宅にwindowsまたはmacのPCがない場合は履修できないので,注意してください.