2023年 理工学部 シラバス - 航空宇宙工学科
設置情報
科目名 | コンピュータプログラミングⅡ | ||
---|---|---|---|
設置学科 | 航空宇宙工学科 | 学年 | 2年 |
担当者 | 中根 昌克 | 履修期 | 前期 |
単位 | 1 | 曜日時限 | 土曜6 |
校舎 | 船橋 | 時間割CD | H66A |
クラス | |||
履修系統図 | 履修系統図の確認 |
概要
学修到達目標 | コンピュータ上で様々な数値計算処理を行うために必要となるコンピュータの誤差の概念やプログラミング技法,アルゴリズムを学ぶ。それらを実装することを通じて科学技術計算・データ処理などを行うプログラム作成技法を習得する。 本授業科目はDP1・3・4及びCP1・3・4に該当している。 |
---|---|
授業形態及び 授業方法 |
【対面授業】【夏季集中授業】 また12号館のPC演習室を利用し,各週のテーマに応じた解説およびプログラミング演習を行う。 資料の配布や講義に関する連絡等は,Googleクラスルームを使用して行う。 本年度に限り、本授業は夏季集中授業として行う |
履修条件 | コンピュータプログラミングIを修得していることが望ましい。 |
授業計画
第1回 | ・講義概要説明:講義内容および講義の進め方,自宅でのプログラミング演習にあたっての準備作業などを説明する。 【事前学習】 ・シラバスの内容を熟読しておくこと。 ・コンピュータプログラミングIで学習した内容を復習しておくこと(20分) 【事後学習】 ・自宅PCでの開発環境を構築し,プログラム作成ができるようにしておく。 ・グラフ化ソフト(Excel,GNUPlotなど)を準備し,簡単なグラフをする。(40分) |
---|---|
第2回 | ・C言語プログラムの基本構成の復習: C言語のプログラムについて,プログラムを構成する基本要素や制御文の使い方(条件分岐,反復処理など)について演習を行う。また、出力結果をファイルに書き出す方法を復習し、グラフ化する方法を確認する。 【事前学習】 C言語の資料を読み、内容を確認しておくこと。(10分) 【事後学習】 作成したプログラムがうまく実行されるかどうかを各自確認し,プログラムがうまく実行されない場合には,なぜうまく実行されないか考えておくこと(50分) |
第3回 | ・浮動小数点演算の丸め誤差について: コンピュータで科学技術演算をする上で避けて通れない丸め誤差について解説し、理解を深めるための課題を遂行する. 【事前学習】 配布資料を読み,内容を確認しておくこと。(10分) 【事後学習】 作成したプログラムがうまく実行されるかどうかを各自確認し,プログラムがうまく実行されない場合には,なぜうまく実行されないか考えておくこと。(50分) |
第4回 | ・方程式の解法(1)2分法: 方程式の数値解法の一つである「2分法」を実行するプログラミング演習を行い,2分法のアルゴリズムについて学習し理解を深める. 【事前学習】 事前配布資料,参考書などを読み,2分法の概念について学習しておくこと。(10分) 【事後学習】 作成したプログラムがうまく実行されるかどうかを各自確認し,プログラムがうまく実行されない場合には,なぜうまく実行されないか考えておくこと。(50分) |
第5回 | ・方程式の解法(2)ニュートン法: 方程式の数値解法の一つである「ニュートン法」を実行するプログラミング演習を行い,ニュートン法のアルゴリズムについて学習し理解を深める。 【事前学習】 事前配布資料,参考書などを読み,ニュートン法の概念について学習しておくこと。(10分) 【事後学習】 作成したプログラムがうまく実行されるかどうかを各自確認し,プログラムがうまく実行されない場合には,なぜうまく実行されないか考えておくこと。(50分) |
第6回 | ・曲線の推定法(1)ラグランジュ補間多項式: 多数のデータ点から要素同士の関係性を調べる曲線の推定法(カーブフィッティング)について,「ラグランジュ補間」を実行するプログラミング演習を行い,理解を深める。 【事前学習】 事前配布資料,参考書などを読み,ラグランジュ補間の概念について学習しておくこと。(10分) 【事後学習】 作成したプログラムがうまく実行されるかどうかを各自確認し,プログラムがうまく実行されない場合には,なぜうまく実行されないか考えておくこと。(50分) |
第7回 | ・曲線の推定法(2)最小二乗法: 多数のデータ点から要素同士の関係性を調べる曲線の推定法(カーブフィッティング)について,「最小二乗法」を実行するプログラミング演習を行い,理解を深める。 【事前学習】 事前配布資料,参考書などを読み,最小二乗法の概念について学習しておくこと。(10分) 【事後学習】 作成したプログラムがうまく実行されるかどうかを各自確認し,プログラムがうまく実行されない場合には,なぜうまく実行されないか考えておくこと。(50分) |
第8回 | ・数値積分(1)台形則: 数値積分として代表的な手法である「台形則」についてのプログラミング演習を行い,数値積分のアルゴリズムについて学習し理解を深める。 【事前学習】 事前配布資料,参考書などを読み,台形則の概念について学習しておくこと。(10分) 【事後学習】 作成したプログラムがうまく実行されるかどうかを各自確認し,プログラムがうまく実行されない場合には,なぜうまく実行されないか考えておくこと。(50分) |
第9回 | ・数値積分(2)シンプソン則: 「台形則」よりも精度の良い「シンプソン則」についてのプログラミング演習を行い,数値積分のアルゴリズムについて学習し理解を深める。 【事前学習】 事前配布資料,参考書などを読み,シンプソン則の概念について学習しておくこと。(10分) 【事後学習】 作成したプログラムがうまく実行されるかどうかを各自確認し,プログラムがうまく実行されない場合には,なぜうまく実行されないか考えておくこと。(50分) |
第10回 | ・常微分方程式の解法(1)オイラー法: 常微分方程式の数値解法として使われる「オイラー法」についてのプログラミング演習を行い,常微分方程式の解法のアルゴリズムについて学習する。 【事前学習】 事前配布資料,参考書などを読み,オイラー法の概念について学習しておくこと。(10分) 【事後学習】 作成したプログラムがうまく実行されるかどうかを各自確認し,プログラムがうまく実行されない場合には,なぜうまく実行されないか考えておくこと。(50分) |
第11回 | ・常微分方程式の解法(2)ルンゲ・クッタ法: 「オイラー法」よりも精度の良い「ルンゲ・クッタ法」についてのプログラミング演習を行い,常微分方程式の解法のアルゴリズムについて学習する。 【事前学習】 事前配布資料,参考書などを読み,ルンゲ・クッタ法の概念について学習しておくこと。(10分) 【事後学習】 作成したプログラムがうまく実行されるかどうかを各自確認し,プログラムがうまく実行されない場合には,なぜうまく実行されないか考えておくこと。(50分) |
第12回 | ・数値微分 差分近似法: 数値微分の概念である「差分近似法」についてのプログラミング演習を行い,数値微分の理解を深める。 【事前学習】 事前配布資料,参考書などを読み,差分近似法の概念について学習しておくこと。(10分) 【事後学習】 作成したプログラムがうまく実行されるかどうかを各自確認し,プログラムがうまく実行されない場合には,なぜうまく実行されないか考えておくこと。(50分) |
第13回 | ・偏微分方程式の解法(1) 楕円型方程式(Laplace方程式): 代表的な偏微分方程式についてどのような数値解が得られるか紹介し,Laplace方程式を例に挙げてプログラミング演習を行う。 【事前学習】 事前配布資料,参考書などを読み,偏微分方程式の数値解法について学習しておくこと。(10分) 【事後学習】 作成したプログラムがうまく実行されるかどうかを各自確認し,プログラムがうまく実行されない場合には,なぜうまく実行されないか考えておくこと。(50分) |
第14回 | ・偏微分方程式の解法(2) 放物型方程式(拡散方程式): 前回に引き続き,拡散方程式を例に挙げてプログラミング演習を行い,偏微分方程式の数値解法について理解を深める。 【事前学習】 事前配布資料,参考書などを読み,偏微分方程式の数値解法について学習しておくこと。(10分) 【事後学習】 作成したプログラムがうまく実行されるかどうかを各自確認し,プログラムがうまく実行されない場合には,なぜうまく実行されないか考えておくこと。(50分) |
第15回 | ・偏微分方程式の解法(3) 双曲型方程式:双曲型方程式の数値解法について、どのような点が難しいのか、を解説する。 ・講義内容の振り返り及び解説:これまでに学習した数値計算技法の内容について振り返り,解説を行う。 【事前学習】 事前配布資料およびこれまでの講義内容について,参考書や配布資料,講義時の板書のノートなどを利用して復習しておくこと。(60分) |
その他
教科書 |
特に指定しない
|
---|---|
参考書 |
戸川隼人 『数値計算』 情報処理入門シリーズ 岩波書店 1991年
MMGames 『苦しんで覚えるC言語』 秀和システム 2011年
W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery 著. 丹慶 他 訳 『NUMERICAL RECIPES in C[日本語版]』 技術評論社 1933年
本授業は1冊目の書籍を基に組み立てるが、この本はfortranで書かれているため、多少の「翻訳」が必要である。
C言語の文法について書かれた書籍は数多くあるが、比較的よく書かれてる本として2冊目を挙げる。この本は,Webコンテンツを書籍化してものであるので、その基を訪ねればより情報を得ることができるであろう。
数値計算技法に関する書籍も数多くあるが、コンピュータが貧弱であった頃の書籍は、どのような点に注意が必要であるかをきちんと記載してあることが多い。その中でも3冊目は、厚い本であるが含蓄がある。
|
成績評価の方法 及び基準 |
各演習のレポートにもとづく平常点(100%)で評価する. |
質問への対応 | 質問等はオフィスアワー以外でも対応します. 研究室で対応,それ以外は質問内容を整理してメールまたはGoogleクラスルームから質問をしてください. |
研究室又は 連絡先 |
3号館3階333室 nakane.masakatsu@nihon-u.ac.jp |
オフィスアワー |
水曜 船橋 18:10 ~ 19:00 なるべく講義中に質問してください
|
学生への メッセージ |
ある程度自由にプログラムが書けるようになると,複雑な力学の計算を行うことや大量の実験データを容易に処理することができるようになります。また,プログラミングを学ぶということは,技術者にとって不可欠となる論理的思考を訓練することにも繋がります。 |