数値計算法Ⅱ

科目基礎情報

学校 有明工業高等専門学校 開講年度 令和02年度 (2020年度)
授業科目 数値計算法Ⅱ
科目番号 5I014 科目区分 専門 / 選択
授業形態 授業 単位の種別と単位数 学修単位: 1
開設学科 創造工学科(情報システムコース) 対象学年 5
開設期 前期 週時間数 前期:1
教科書/教材 数値計算法(第2版);三井田 惇郎、須田 宇宙/森北出版
担当教員 菅沼 明

到達目標

1. 浮動小数点数を用いた計算に誤差が含まれる理由を説明できる
2. 数値計算の各テーマに対して、計算手法の原理を説明できる
3. 数値計算の各テーマに対して、原理に応じたプログラムを作成することができる

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1浮動小数点数を用いた計算に誤差が含まれる理由を数学的観点・計算機工学的観点から説明できる。浮動小数点数を用いた計算に誤差が含まれる理由を説明できる。浮動小数点数を用いた計算に誤差が含まれる理由を説明できない。
評価項目2数値計算の各テーマに対して、計算手法の原理を数学的に説明でき、誤差の吟味を行うことができる。数値計算の各テーマに対して、計算手法の原理を説明できる。数値計算の各テーマに対して、計算手法の原理を説明できない。
評価項目3数値計算の各テーマに対して、原理に応じたプログラムを作成することができ、計算誤差による悪影響を防ぐことができる。数値計算の各テーマに対して、原理に応じたプログラムを作成することができる。数値計算の各テーマに対して、原理に応じたプログラムを作成することができない。

学科の到達目標項目との関係

学習・教育到達度目標 B-2 説明 閉じる

教育方法等

概要:
 コンピュータは非常に幅広い分野で使用されているが、元々は計算の道具として開発された機械である。したがって、数値計算のためのソフト開発は広く行われ多くの蓄積がある。今日では、非常に高度な計算を行うためのソフトも開発されており、これらは製品の開発や設計などに広く利用されている。
 本授業では、コンピュータを使った数値計算の考え方を理解することが目標である。数値計算は必ず誤差が生じ、プログラムの組み方によっては間違った解を出力したり、計算が終了しなかったりすることがあり、数学で学んでいる通常の解析とは異なることを理解することが重要である。また複雑な数値計算を行う場合の基礎となる基本的な問題に対する数値解析の方法を学び、そのアルゴリズムを習得することも目標としている。
授業の進め方・方法:
各テーマにおいて、数値計算の理論を解説する。また,いくつかのテーマにおいて、C言語によるプログラミング演習を行う。
注意点:
プログラミング演習ではC言語を使用するので、C言語でのプログラミングに慣れていることが望ましい。

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス、台形公式 定積分の値を反復法で近似的に求める手法を説明できる。
2週 台形公式 台形法で定積分の値を計算するプログラムを作成することができる。
3週 台形公式 台形公式で求めた数値積分に含まれる誤差の傾向を理解し、リチャードソンの補外で誤差を小さくすることができることを説明できる。
4週 シンプソンの公式 定積分の値を反復法で2次の近似として求める手法を説明できる。
5週 シンプソンの公式 シンプソンの公式で定積分の値を計算するプログラムを作成できる。
6週 オイラーの公式 常微分方程式の数値解法についてオイラーの公式を説明できる。
7週 オイラーの公式 オイラーの公式を使って、常微分方程式を解くプログラムを作成できる。
8週 中間試験 常微分方程式の数値解法についてルンゲクッタの公式を説明できる。
2ndQ
9週 テスト返却と解説,ルンゲクッタの公式 常微分方程式の数値解法についてルンゲクッタの公式を説明できる。
10週 ルンゲクッタの公式 ルンゲクッタの公式を用いて常微分方程式を解くプログラムを作成できる。
11週 逆行列 ガウス・ジョルダン法を使って逆行列を求めることができる。
12週 固有値 解析的に固有値を求める方法は数値計算向きでないことを理解できる。
13週 固有値 固有値を求める方法のうちヤコビ法は数値計算向きであることを理解でき、ヤコビ法で固有値。固有ベクトルを計算することができる。
14週 乱数 乱数の生成方法を説明することができる。生成分布が異なる乱数の必要性を理解し、正規分布などの乱数の生成方法を説明できる。
15週 期末試験
16週 テスト返却と解説

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。4前2,前5,前7,前10
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4前2,前5,前7,前10
変数の概念を説明できる。4前2,前5,前7,前10
データ型の概念を説明できる。4前2,前5,前7,前10
制御構造の概念を理解し、条件分岐を記述できる。4前2,前5,前7,前10
制御構造の概念を理解し、反復処理を記述できる。4前2,前5,前7,前10
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4前2,前5,前7,前10
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4前2,前5,前7,前10
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4前2,前5,前7,前10
ソフトウェアアルゴリズムの概念を説明できる。4前1,前4,前6,前9,前12
与えられたアルゴリズムが問題を解決していく過程を説明できる。4前2,前3,前5,前6,前7,前9,前10,前11,前12,前14
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。4前2,前3,前5,前7,前10,前11,前14
時間計算量によってアルゴリズムを比較・評価できることを説明できる。4前2,前3,前5,前7,前10,前11,前14
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。4前2,前3,前5,前10,前11,前13,前14
計算機工学整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。4前14
基数が異なる数の間で相互に変換できる。4前14
整数を2進数、10進数、16進数で表現できる。4前14
小数を2進数、10進数、16進数で表現できる。4前14
基本的な論理演算を行うことができる。4前2,前5,前10
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。4前2,前5,前10
情報数学・情報理論コンピュータ上での数値の表現方法が誤差に関係することを説明できる。4前3,前5,前7,前10,前13
コンピュータ上で数値計算を行う際に発生する誤差の影響を説明できる。4前3,前5,前7,前10,前13
コンピュータ向けの主要な数値計算アルゴリズムの概要や特徴を説明できる。4前1,前4,前6,前9,前11,前12,前14

評価割合

試験発表相互評価態度ポートフォリオその他合計
総合評価割合70000300100
基礎的能力0000000
専門的能力70000300100
分野横断的能力0000000