コンピュータを用いた様々な解析は、今や多くの分野で必須のスキルになっている.本講義では,大規模数値計算などでよく用いられているFortran 90/95を用いて,プログラミングの基本的な文法や,研究・開発の現場で必要となる主な数値解析法のアルゴリズムや基本的なプログラミング方法を学習する.
この講義を通して,プログラミングをこれまでほとんど経験したことの無いような学生が,数値解析のアルゴリズムを理解し,基本的な解析プログラムが作成出来るようになることを目指す.
この講義を履修することによって,
(1) プログラミングのための基本文法を理解し,
(2) 研究・開発の現場で必要となる主な数値解析法のアルゴリズムを習得し,
(3) 自らのニーズに合わせて現象を数値解析するための基本的なプログラムを作成できるようになる.
数値解析,アルゴリズム,Fortran,プログラミング
✔ 専門力 | 教養力 | コミュニケーション力 | 展開力(探究力又は設定力) | 展開力(実践力又は解決力) |
学術国際情報センターの端末を用いてプログラミングの基礎やアルゴリズムについて講義と演習を織り交ぜながら学習する.対面での演習が困難になった場合は,オンラインで実施する場合もある.
授業計画 | 課題 | |
---|---|---|
第1回 | 演習:ガイダンス,数値解析概要,基本的な使い方・プログラミングの環境 | ガイダンスおよび演習室のルール 数値解析がどのような場面で役に立っているかを理解する 演習室のプログラム環境設定および簡単なFortranプログラミング演習 |
第2回 | 演習:プログラミングの基礎(1):ループ・条件分岐,計算結果の可視化 | ループ・条件分岐の理解と,計算結果の可視化方法の習得 |
第3回 | 演習:プログラミングの基礎(2):変数の型・組込関数・配列・サブルーチン | 型や組込関数、配列の概念の理解と簡単な例題による演習・サブルーチンの使い方と、簡単な応用 |
第4回 | 演習:行列の演算 | 配列を用いた行列の扱い方と、基本的な行列演算の実装 |
第5回 | 講義:ガウスの消去法(1):アルゴリズム | ガウス消去法のアルゴリズムの理解とFortranでの基本的な実装 |
第6回 | 講義:ガウスの消去法(2):プログラミング | ピボット選択を含むガウス消去法の実装 |
第7回 | 講義:数値積分 | 数値積分法(長方形近似・台形公式・シンプソン公式)のアルゴリズムの理解と実装 |
第8回 | 講義:最小二乗法,最適化 | 最小二乗法や非線形最小二乗法のアルゴリズムの理解と実装 |
第9回 | 演習:Newton法 | Newton法のアルゴリズムの理解と、Newton法を用いた応用問題 |
第10回 | 講義:常微分方程式 | オイラー法とルンゲ・クッタ法のアルゴリズムの理解と実装 実際の物理現象への常微分方程式の数値シミュレーション技法の応用 |
第11回 | 講義:偏微分方程式 | 有限差分法を用いた拡散方程式の解法および結果の可視化 |
第12回 | 演習:Mathematicaによる数式処理 | Mathematicaの基本的な使い方の理解 |
第13回 | 講義:数値解析例 | 例題を通した数値解析の理解 |
第14回 | 期末試験 | 期末試験 |
学修効果を上げるため,教科書や配布資料等の該当箇所を参照し,「毎授業」授業内容に関する予習と復習(課題含む)をそれぞれ概ね100分を目安に行うこと。
なし
講義資料等は必要に応じて講義前にT2SCHOLAを通して配布する.
また,以下の書籍を推奨するが授業では用いない.
牛島 省 『数値計算のためのFortran90/95プログラミング入門』,森北出版,ISBN-13: 978-4-627-84721-7
レポート(60%),試験(40%)によって総合的に評価する.ただし,6回以上の欠席者には試験の受験資格を認めない.
オンラインでの演習となった場合は,自宅のPCにfortranコンパイラをインストールして演習を実施します.自宅にwindowsまたはmacのPCがない場合は履修できないので,注意してください.