1. 数値計算で発生する誤差について理解できる
2. 非線形方程式の数値解法を理解し, プログラムを用いて問題を解くことができる
3. 補間法, 数値積分法を理解し, プログラムを用いて問題を解くことができる
4. ガウスの消去法を理解し, プログラムを用いて問題を解くことができる
5. 最小二乗法を理解し, プログラムを用いて問題を解くことができる
6. 微分方程式の数値解法を理解し, プログラムを用いて問題を解くことができる
概要:
計算機技術の発展に伴い, 今日の機械工学においてシミュレーションや数値解析は欠かせない道具の一つとなっている. 様々な現象を計算機上でシミュレートしたり, 複雑な問題を最適化する際に, 現実の諸問題を数学モデルに置き換えて数値的に解を求める必要がある. これらシミュレーションや数値解析の基礎となるのが数値計算法である. この講義では数値計算法の基礎的な問題をいくつか取り上げ, その考え方とC言語を用いた実装を学ぶ. また, 問題を解いて得られた結果をレポートにまとめることで, 4, 5年時の工学実験, 5年次の卒業研究に向けた文書作成能力の素地を養う.
授業の進め方・方法:
- 基礎式の導出を行った後に, 問題を手計算で解く演習を行う
- 基礎式や計算手順を理解した後に, C言語のプログラムを用いた数値計算を行う
- 課題を通じ, プログラムを用いた数値計算結果を解析し, レポートにまとめる
注意点:
- 受講者はプログラミング基礎を理解している必要がある.
- 基礎式の導出やプログラムの作成は自分の手で行うこと. 他人の作業を写すだけでは理解が得られない.
- 各課題には締切を設定する. 締切に遅れた場合は80%の評価とする.
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
イントロダクション:数値計算とは |
数値計算とは何か理解し, 説明できる。
|
2週 |
数値計算における精度と誤差 |
数値計算を行う上で考えなければならない誤差を理解し, 説明できる。
|
3週 |
プログラミング演習 |
演習課題をこなし,演習報告書を作成することができる。
|
4週 |
非線形方程式の数値解法1 |
2分法の原理を理解し,解法をプログラミングできる。
|
5週 |
プログラミング演習 |
演習課題をこなし,演習報告書を作成することができる。
|
6週 |
非線形方程式の数値解法2 |
ニュートン法の原理を理解し,それぞれの解法をプログラミングできる。
|
7週 |
プログラミング演習 |
演習課題をこなし,演習報告書を作成することができる。
|
8週 |
中間試験 |
中間試験
|
2ndQ |
9週 |
補完法について学ぶ。 |
Lagrangeの補間多項式を用いて, 与えられたデータや関数の補間曲線を求める方法が理解できる。
|
10週 |
プログラミング演習 |
演習課題をこなし,演習報告書を作成することができる。
|
11週 |
数値積分について学び,台形公式を導出する。 |
台形公式の導出が説明できる。
|
12週 |
台形公式(区間2分法)について学ぶ。 |
台形公式(区間2分法)について説明できる。
|
13週 |
シンプソンの公式について学ぶ。 |
シンプソンの公式について説明できる。
|
14週 |
プログラミング演習 |
演習課題をこなし,演習報告書を作成することができる。
|
15週 |
プログラミング演習 |
演習課題をこなし,演習報告書を作成することができる。
|
16週 |
期末試験 |
期末試験
|
後期 |
3rdQ |
1週 |
2次元配列と行列の積 |
行列の積の計算をプログラミングすることができる。
|
2週 |
プログラミング演習 |
演習課題をこなし,演習報告書を作成することができる。
|
3週 |
連立1次方程式の数値解法 |
ガウスの消去法を理解し,プログラミングすることができる。
|
4週 |
ガウスの消去法の計算演習 |
ガウスの消去法を手順に従って手計算できる。
|
5週 |
プログラミング演習 |
演習課題をこなし,演習報告書を作成することができる。
|
6週 |
プログラミング演習 |
演習課題をこなし,演習報告書を作成することができる。
|
7週 |
プログラミング演習 |
演習課題をこなし,演習報告書を作成することができる。
|
8週 |
中間試験 |
中間試験
|
4thQ |
9週 |
ガイダンス オイラー法について学ぶ。
|
ガイダンス オイラー法について説明できる。
|
10週 |
プログラミング演習 |
演習課題をこなし,演習報告書を作成することができる。
|
11週 |
ルンゲ・クッタ法の基礎について学ぶ。 |
ルンゲ・クッタ法の基礎について説明できる。
|
12週 |
プログラミング演習 |
演習課題をこなし,演習報告書を作成することができる。
|
13週 |
高次の常微分方程式の解法 |
オイラー法を用いて, 高次の常微分方程式を数値的に解く方法が理解できる.
|
14週 |
プログラミング演習 |
演習課題をこなし,演習報告書を作成することができる。
|
15週 |
プログラミング演習 |
演習課題をこなし,演習報告書を作成することができる。
|
16週 |
期末試験 |
期末試験
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | 前1,前2,前4,前6,前9,前11,前12,前13,前14,後1,後3,後4,後9,後11,後13 |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | 前4,前6,前9,前11,前12,前13,前14,後2,後3,後4,後9,後11,後13 |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | 前5,前7,前10,前14,前15,後2,後5,後6,後7,後10,後12,後14,後15 |
専門的能力 | 分野別の専門工学 | 機械系分野 | 情報処理 | プログラムを実行するための手順を理解し、操作できる。 | 4 | 前3,前5,前7,前10,前14,前15,後2,後5,後6,後7,後10,後12,後14,後15 |
定数と変数を説明できる。 | 4 | 前3,前5,前7,前10,前14,前15,後2,後5,後6,後7,後10,後12,後14,後15 |
整数型、実数型、文字型などのデータ型を説明できる。 | 4 | 前3,前5,前7,前10,前14,前15,後2,後5,後6,後7,後10,後12,後14,後15 |
演算子の種類と優先順位を理解し、適用できる。 | 4 | 前3,前5,前7,前10,前14,前15,後2,後5,後6,後7,後10,後12,後14,後15 |
算術演算および比較演算のプログラムを作成できる。 | 4 | 前3,前5,前7,前10,前14,前15,後2,後5,後6,後7,後10,後12,後14,後15 |
データを入力し、結果を出力するプログラムを作成できる。 | 4 | 前5,前7,前10,前14,前15,後2,後5,後6,後7,後10,後12,後14,後15 |
条件判断プログラムを作成できる。 | 4 | 前5,前7,前10,前14,前15,後2,後5,後6,後7,後10,後12,後14,後15 |
繰り返し処理プログラムを作成できる。 | 4 | 前5,前7,前10,前14,前15,後2,後5,後6,後7,後10,後12,後14,後15 |
一次元配列を使ったプログラムを作成できる。 | 4 | 前10,前14,前15,後1,後5,後6,後7 |