科目コード | AN211 | ||||
科目名 | シミュレーション工学(Simulation Technology) | 単位数 | 2単位 | ||
対象学科 | 電子情報システム工学専攻 | 対象学年 | 2年 | 開講期間 | 前期 |
科目区分 | 情報制御系 | 必修・選択 | 選択 | 履修/学修 | 学修 |
授業形式 | 講義 | 規定授業時数 | 15 |   | |
教員名(所属) | 藤本 信一郎(制御情報システム工学科) | 教員室 | 5号棟4階 | ||
使用教科書 | W.H.Press他著「Numerical Recipes in C」(2nd Edition) | ||||
参考書 | W.H.Press他著「ニューメリカルレシピ・イン・シー日本語版―C言語による数値計算のレシピ」技術評論社(原著第1版の日本語訳)戸川隼人他著「よくわかる数値計算―アルゴリズムと誤差解析の実際」日刊工業新聞社,高橋大輔著「数値計算」岩波書店 | ||||
科目の位置付けと 関連科目 | |||||
科目の概要 | 近年計算機性能の向上に伴い,コンピュータ・シミュレーションの重要性が増してきている.本講義では,シミュレーションに必要な様々な数値計算方法を学習する.数値計算を簡単化する様々なツールが開発されているが本講義ではその基礎となるC言語を用いた数値計算プログラミングを行う.数値計算ツール,ライブラリも紹介し,それらの活用法を概説する.なお教科書は平易な英語で書かれている.該当範囲のPDFファイルを事前に印刷し予習しておくこと. | ||||
授業方針 | 1.数値計算法のアルゴリズムを理解し,説明することができる.2.数値計算における誤差を理解し,説明することができる.3.様々なアルゴリズムを活用し,具体的な課題を数値計算できる. |
授業項目 | 時数 | 達成目標(習得すべき内容) |
ガイダンス Guidance | 本講義の目的,概要,評価方法を理解する. | |
C言語による効率的なプログラミング Effective Programing in C | コンパイラオプションによるcodeの最適化,gdbによるデバッグの基礎,ライブラリを理解し,説明することができる. | |
数の取扱い,誤差論 Floating Points and Errors | 浮動小数点数の表現,丸め誤差、桁落ち、情報落ちを理解し,説明することができる. | |
2,3,4次方程式の数値解法 Quadratic, Cubic, and Quartic Equations | 2,3,4次方程式の解を数値的に求める手法を理解し,説明することができる. | |
非線型代数方程式の数値解法 Root Finding of Nonlinear Sets of Equations | Newton-Raphson法,二分法などを理解し,説明することができる. | |
補間法 Interpolation | Lagrange補間,スプライン補間などの補間アルゴリズムを理解し,説明することができる. | |
数値積分法 Numerical Integration of Functions | 台形公式,Simpsonの公式など数値積分アルゴリズムを理解し,説明することができる. | |
モンテカルロ法 Monte Carlo Integration | 乱数を用いたモンテカルロ積分法を理解し,説明することができる. | |
常微分方程式の数値解法 Numerical Integration of Ordinary Differential Equations | 微分と差分、常微分方程式の数値解法であるEuler法、Ruge-Kutta法を理解し,説明することができる. |
ルーブリック | |||
評価項目 | 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
効率的なプログラム開発を理解、説明できる。 | 最適化手法やデバッガの使い方を理解し、効率的なプログラム開発を実践できる。 | 最適化手法やデバッガの使い方を説明できる。 | 最適化手法やデバッガの使い方を説明できない。 |
代数方程式の数値解法を理解し、説明できる。 | 代数方程式の数値解法を収束性の観点から説明でき、プログラム言語を用いて、数値解法を実装できる。 | 代数方程式の数値解法を収束性の観点から説明できる。 | 代数方程式の数値解法を収束性の観点から説明できない。 |
数値積分法を理解し、説明できる。 | 数値積分アルゴリズムを数値誤差、演算速度の観点から説明でき、プログラム言語を用いて、数値積分アルゴリズムを実装できる。 | 数値積分アルゴリズムを数値誤差、演算速度の観点から説明できる。 | 数値積分アルゴリズムを数値誤差、演算速度の観点から説明できない。 |
数値微分法を理解し、説明できる。 | 数値微分アルゴリズムを数値誤差、演算速度の観点から説明でき、プログラム言語を用いて、数値微分アルゴリズムを実装できる。 | 数値微分アルゴリズムを数値誤差、演算速度の観点から説明できる。 | 数値微分アルゴリズムを数値誤差、演算速度の観点から説明できない。 |
評価方法及び 総合評価 | 【評価方法】試験、小テスト、レポートで評価し、60%以上の得点率で目標達成とみなす。レポートは学習したアルゴリズムを利用した数値計算を行い、その結果をまとめたものとする。また講義内容の一部は履修者による輪講形式で行い、発表内容および内容をまとめたレポートで評価する。【総合評価】定期試験等筆記試験(60%)、レポート評価(40%)を総合し、上記事項に対する理解度を評価する。レポートの提出期限は課題提示と同時に示し、期限に遅れて提出されたレポートの評価点は0点とする。 |
学習方法 | 教科書はhttp://www.fizyka.umk.pl/nrbook/bookcpdf.htmlよりPDFファイルにて取得できる.なお本講義ではC言語の文法などについては解説しない.各自本科で行った内容を復習しておくこと. |
学生への メッセージ | 英語の教科書を利用している。 今年度に限り4,5月2か月間に集中して15回の講義を実施する。 |
学修単位への対応 | 30時間相当のレポートもしくは自宅演習を課す。 |
本校教育目標との対応 | JABEE学習教育目標との対応 |