1. 浮動小数点数を用いた計算に誤差が含まれる理由を説明できる。
2. 数値計算の各テーマに対して、計算手法の原理を説明できる。
3. 数値計算の各テーマに対して、原理に応じたプログラムを作成することができる。
概要:
コンピュータは非常に幅広い分野で使用されているが、元々は計算の道具として開発された機械である。したがって、数値計算のためのソフト開発は広く行われ多くの蓄積がある。今日では、非常に高度な計算を行うためのソフトも開発されており、これらは製品の開発や設計などに広く利用されている。
本授業では、コンピュータを使った数値計算の考え方を理解することが目標である。数値計算は必ず誤差が生じ、プログラムの組み方によっては間違った解を出力したり、計算が終了しなかったりすることがあり、数学で学んでいる通常の解析とは異なることを理解することが重要である。また複雑な数値計算を行う場合の基礎となる基本的な問題に対する数値解析の方法を学び、そのアルゴリズムを習得することも目標としている。
この科目はSDGsの目標のうち、「4.質の高い教育をみんなに」と「9.産業と技術革新の基盤をつくろう」に関連する。
授業の進め方・方法:
各テーマにおいて、数値計算の理論を解説する。また,いくつかのテーマにおいて、C言語によるプログラミング演習を行う。
注意点:
プログラミング演習ではC言語を使用するので、C言語でのプログラミングに慣れていることが望ましい。
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
ガイダンス、浮動小数点数の表現法 |
浮動小数点数の表現方法を理解できる。10進法で表された小数を2進法で表された小数に変換できる。
|
2週 |
浮動小数点数の表現法、誤差 |
正規化数とは何かを理解できる。IEEE形式で格納される浮動小数点数の表現法を理解できる。誤差の原因について理解することができる。
|
3週 |
誤差 |
浮動小数点数の演算で誤差が集積することを理解できる。
|
4週 |
二分法(原理、アルゴリズム) |
二分法で非線形方程式の解を求める方法を説明できる。二分法で方程式の解を求めるプログラムを理解できる。
|
5週 |
ニュートン法(原理) |
反復法の代表としてニュートン法で非線形方程式の解を求めることができる。ニュートン法の反復の終了条件によって誤差の大きさが変わることを説明できる。
|
6週 |
ニュートン法(プログラム) |
ニュートン法のプログラムを作成できる。
|
7週 |
ベアストウ法 |
ベアストウ法を利用してn次方程式を解くことができる。ベアストウ法の原理を説明できる。
|
8週 |
中間試験 |
|
4thQ |
9週 |
テスト返却と解説 |
|
10週 |
ガウス・ジョルダン法(ピボット選択を含む) |
連立方程式の解法としてガウス・ジョルダン法を理解できる。連立方程式の解法としてガウス・ジョルダン法を理解し、ピボット選択の必要性を説明できる。
|
11週 |
ガウス・ジョルダン法(プログラム) |
ガウス・ジョルダン法のプログラムを作成することができる。
|
12週 |
ガウス・ザイデル法 |
反復法の代表としてガウス・ザイデル法で連立方程式を解くことができる。
|
13週 |
ラグランジュの補間 |
ラグランジュの補間法を説明できる。ラグランジュの補間法のプログラムを作成することができる。実行結果に不具合があった場合に、その原因を誤差の観点から説明できる。
|
14週 |
最小二乗法 |
最小二乗法を利用して近似直線や2次の近似曲線を求める手法を説明できる。
|
15週 |
期末試験 |
|
16週 |
テスト返却と解説 |
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 変数の概念を説明できる。 | 4 | 後4,後5,後6,後10,後11 |
データ型の概念を説明できる。 | 4 | 後4,後5,後6,後10,後11 |
代入や演算子の概念を理解し、式を記述できる。 | 4 | 後6,後11 |
制御構造の概念を理解し、条件分岐を記述できる。 | 4 | 後4,後5,後6,後11 |
制御構造の概念を理解し、反復処理を記述できる。 | 4 | 後4,後5,後6,後11 |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 4 | 後6,後11 |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | 後4,後6,後11 |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 4 | 後6,後7,後11 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | 後6,後11 |
ソフトウェア | アルゴリズムの概念を説明できる。 | 4 | 後4,後5,後6,後7,後10,後12,後13,後14 |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 4 | 後4,後5,後6,後7,後10,後12,後13,後14 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 4 | 後4,後5,後7,後10,後12,後13,後14 |
時間計算量によってアルゴリズムを比較・評価できることを説明できる。 | 4 | 後5,後7,後10,後12,後13,後14 |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 4 | 後6,後7,後10,後12,後13,後14 |
計算機工学 | 整数を2進数、10進数、16進数で表現できる。 | 4 | 後1,後2,後3 |
小数を2進数、10進数、16進数で表現できる。 | 4 | 後1,後2,後3 |
整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。 | 4 | 後1,後2,後3 |
基数が異なる数の間で相互に変換できる。 | 4 | 後1,後2,後3 |
基本的な論理演算を行うことができる。 | 4 | 後4,後5,後6,後7,後10,後11,後12 |
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。 | 4 | 後4,後5,後6,後7,後10,後11,後12 |
情報数学・情報理論 | コンピュータ上での数値の表現方法が誤差に関係することを説明できる。 | 4 | 後2,後3,後10,後11,後12,後13,後14 |
コンピュータ上で数値計算を行う際に発生する誤差の影響を説明できる。 | 4 | 後2,後3,後10,後11,後12,後13,後14 |
コンピュータ向けの主要な数値計算アルゴリズムの概要や特徴を説明できる。 | 4 | 後4,後5,後6,後7,後10,後11,後12,後13,後14 |