【 2010 年度 授業概要】
科   目 数値解析 ( Numerical Analysis )
担当教員 山本 和男 准教授
対象学年等 電気工学科・4年・通年・必修・2単位 ( 学修単位III )
学習・
教育目標
A2(20%) A3(80%)
JABEE
基準1(1)
(c),(d)1
授業の概要
と方針
情報技術の著しい発展によって,あらゆる分野で誰でもが手軽にコンピュータを活用することができる状況になってきた.電気工学の分野では,各種機器やシステムの設計,評価,環境への影響などが頻繁に数値解析される.数値解析によって数学的思考法に対するより深い洞察が得られることが多く,この講義では,電気工学において重要と思われる,種々の数学的主題に対する数値解析の基本的な手法と技術の習得を目的としている.



1 【A3】 ファイル入出力関数を使いこなし,整理されたプログラミングを行うことが出来る.
2 【A3】 コンピュータ内部での数の表現法と丸め誤差について説明ができる.
3 【A3】 連立1次方程式を数値的に解くことができる.
4 【A3】 非線形方程式を数値的に解くことができる.
5 【A2】 微分および積分を数値的に計算することができる.
6 【A3】 常微分方程式を数値的に解くことができる.
7 【A2】 補間法および最小2乗法によって数値的に補間・近似ができる.
8 【A3】 偏微分方程式を数値的に解くことができる.
9 【A3】 GPGPUを用いた並列計算を行うことができる.
10  












1 ファイル入出力関数を用いた整理されたプログラミング方法に対する理解度ついて前期・後期定期試験とレポートで評価する.
2 コンピュータ内部での数の表現法と丸め誤差,演算にともなう桁落ちや情報落ちに対する理解度ついて主に前期定期試験とレポートで評価する.
3 連立1次方程式の数値解法である,ガウスの消去法,ガウス・ジョルダン法,LU分解法に対する理解度ついて主に前期定期試験とレポートで評価する.
4 非線形方程式の数値解法である,二分法,割線法 ,はさみうち法およびニュートンラフソン法に対する理解度について主に前期定期試験とレポートで評価する.
5 差分近似に基づく数値微分,ならびに,台形則およびシンプソン則に基づく数値積分に対する理解度について主に前期定期試験とレポートで評価する.
6 常微分方程式の数値解法である,オイラー法,ルンゲ・クッタ法に対する理解度について主に後期定期試験とレポートで評価する.
7 最小2乗法による近似および多項式補間,スプライン補間に対する理解度について主に後期定期試験とレポートで評価する.
8 偏微分方程式の差分表現,および楕円型方程式の数値解法アルゴリズムに対する理解度ついて主に後期定期試験とレポートで評価する.
9 CUDA言語を用いGPGPUの並列計算ができることを主に後期定期試験とレポートで評価する.
10  




成績は,試験70% レポート30% として評価する.100点満点で60点以上を合格とする.ただし,試験およびレポートはそれぞれの平均で評価する.
テキスト 「ANSI Cによる数値計算法入門」:堀之内,酒井,榎園(森北出版)
参考書 「C言語プログラミングレッスン(入門編)」:結城浩(Soft Bank)
「やさしいC」:高橋麻奈(Soft Bank)
「初めてのCUDAプログラミング」:青木他(工学社)
「電気・電子工学のための数値計算入門」:橋本修著(総合電子出版社)
「NUMERICAL RECIPES in C [日本語版] 」:W. H. Press et al.(技術評論社)
関連科目 「数学I」(1〜3学年),「数学II」(2学年),「情報処理」(1〜2学年),「実験実習」(2〜5学年),「卒業研究」(5学年)
履修上の
注意事項
数値解析では,微分,積分,連立方程式,微分方程式などを数値的に解くための手法を学ぶ.数学I,IIでの履修内容に対する深い理解が必要であるとともに,特に実践的なプログラミングを多く取り入れていくので,プログラミングの知識を備えていることが望ましい.

【授業計画( 数値解析 )】
上段:テーマ/下段:内容(目標、準備など)
1 ガイダンスおよびプログラミングの基礎
1年間の授業計画および授業方法,評価方法について説明する.総合情報センターにおけるプログラミングの基本について概説する.
2 ファイル入出力関数
ファイル入出力関数を用いることで整理されたプログラミングができることを説明する.
3 ファイル入出力関数(演習)
ファイル入出力関数を用いたプログラミング演習を行う.
4 誤差・正確さ・安定性
丸め誤差や打ち切り誤差について説明するとともに数値計算の正確さ,安定性について説明する.
5 プログラムの構成と制御構造
必要不可欠な制御構造とその使い方について説明する.
6 プログラムの構成と制御構造(演習)
さまざまな制御構文を用いたプログラミング演習を行う
7 連立1次方程式(ガウスの消去法,ガウス・ジョルダン法)
ガウスの消去法,ガウス・ジョルダン法のアルゴリズムについて解説する.
8 復習
1回目から7回目までの内容について復習を行う.
9 連立1次方程式(LU分解法)
LU分解法を用いた連立1次方程式の解法について解説する.
10 連立1次方程式(LU分解法)(演習)
LU分解法を用いたプログラミング演習を行う
11 非線形方程式
二分法,割線法 ,はさみうち法について説明する.
12 非線形方程式(演習)
はさみうち法のプログラミング演習を行う.
13 非線形方程式
ニュートンラフソン法について説明する.
14 非線形方程式(演習)
ニュートンラフソン法のプログラミング演習を行う.
15 復習
8回目から14回目までの内容について復習を行う.
16 数値微分・積分
差分による数値微分法について説明する.さらに,数値積分法の一種である台形則とシンプソン則のアルゴリズムについて説明する.
17 数値微分・積分(演習)
台形則とシンプソン則のプログラミング演習を行う.
18 数値微分・積分
台形則とシンプソン則のプログラミング演習を行う.
19 常微分方程式
常微分方程式の数値解法の一つである,オイラー法とルンゲクッタ法について説明する.
20 常微分方程式(演習;オイラー法)
オイラー法のプログラミング演習を行う.
21 常微分方程式(演習;ルンゲクッタ法)
ルンゲクッタ法のプログラミング演習を行う.
22 復習
16回目から21回目までの内容について復習を行う.
23 補間と近似(最小2乗法)
最小2乗法を用いた近似法について説明し,プログラミング演習を行う.
24 補間と近似(ラグランジュ多項式)
ラグランジュ多項式を用いた補間法について説明し,プログラミング演習を行う.
25 補間と近似(スプライン補間法)
スプライン補間法のアルゴリズムについて説明し,プログラミング演習を行う.
26 偏微分方程式
変数分離法に基づく偏微分方程式の解法について説明する.
27 楕円型偏微分方程式(ラプラス方程式)
楕円型方程式の典型である,2次元ラプラス方程式の差分化とその数値計算法について説明し,プログラミング演習を行う.
28 CUDA言語を用いた並列計算
CUDA言語を用いたGPUの計算方法について説明する.
29 CUDA言語を用いた並列計算(演習)
CUDA言語を用いたGPUの計算についてプログラミング演習を行う.
30 復習
22回目から29回目までの内容について復習を行う.


本科目の修得には,60 時間の授業の受講と 30 時間の自己学習が必要である. 前期定期試験および後期定期試験を実施する.