科目名 |
科学技術計算 |
担当教員 |
横山 清行 |
対象学年 |
3年 |
クラス |
学部:専門001 |
講義室 |
|
開講学期 |
1学期 |
曜日・時限 |
時間外 |
単位区分 |
選択 |
授業形態 |
一般講義 |
単位数 |
2 |
準備事項 |
|
備考 |
|
授業の詳細1 |
授業の目的 コンピュータを用いて数値計算を行い、自ら問題を解決する能力向上を目標とする。線形方程式の解法、数値積分、ニュートン法による代数方程式解法などを通して、科学技術計算の基本を習得する。また、基本的なアルゴリズムの構築、フローチャート化などを通して、問題解決に向けての思考を組み立てる能力を養う。
授業の進め方 科学技術計算には、一般には、CやFORTRANのような高級言語が良く使われている。本講義では、受講生が気軽に復習でき、今後の学生生活や卒業後の社会においても使えるインタープリター型言語octave(有料のMATLABのフリーソフト)を使用する。講義の最初の部分でこの言語について理解を深めることから始めるので、特に言語に関する予備知識は必要ない。講義はテキストを用い、Windows PCを用いた実習形式で進める。
達成目標 本講義の目標は,科学技術計算を行うことで自ら問題解決を可能とする基礎的素養を身につけるとともに、自ら考え理解する力を養うことである。 科学技術計算は多くの分野に適用でき、在学中にも社会に出てからも重要な武器となるものであるが、この講義はその最初の一歩である。第1時限では、科学技術計算が社会に貢献している実例を講師が経営しているビジネスとして紹介し、PC性能が進歩した今日、本講義の延長線上に最先端技術を開拓する鍵が存在していることが理解した上で講義をすすめる。最終テストでは、課題に対して、プログラムを作成する。どのように理解したか、どのように思考を組み立てたかで成績評価とする。 |
授業の詳細2 |
授業計画 1. 科学技術計算が社会で貢献している実例と本講義の概要 本講師が経営する会社では、光通信用デバイス設計に関するコンサルティングならびにシミュレーションツールの開発、代理店販売を行っている。これらの業務を通して、 科学技術計算が最先端の研究開発に貢献していることを紹介する。このことにより、受講生にインセンティブを与える。あわせて、本集中講義3日間の講義の概要について説明する。 2.Octaveのインストールとその使い方(1) Octave3.0をインストールし、各自の端末でインタープリタ言語Octaveを用いて以降の実習形式講義を進める環境を整える。また、Octaveはフリーソフトであるので、各自のPCにも インストールが可能で、自宅学習、今後の卒業研究などで利用が可能であるので、これも受講生にインセンティブを与えることと思う。 2.1 octaveの起動、終了とコマンド実行 2.2 数と式の演算 2.3 コマンドライン編集機能 2.4 入出力 3.Octaveの使い方(2) 3.1 行列操作と合成 3.2 演算、制御命令 ここではフローチャートなど思考を組み立てることを学習する。 4.Octaveの使い方(3) コマンドラインに対して、本時限からはファイルからの実行を学ぶ。データを変更して繰り返し実行が可能で、いわゆる「プログラム」というイメージになる。 4.1 ファイルからの実行 4.2 関数定義 4.3 コメント 5.演習問題 Octaveをある程度使いこなすことができるようにし、2日目以降の本論の効率を上げるために、いくつかの演習問題を解き、レポート提出を求める。本レポートは、評価の一部として用いる。 6.線形方程式の解法(1) 行基本操作を用いた線形方程式の解法 ここでは、行の交換やピボッティングなど基本的な考え方を習得する。 7.線形方程式の解法(2) LU(L:下三角行列、U:上三角行列)分解による線形方程式解法 この方法は、より一般的数値解析手法で線形方程式解法の常套手段で、数値解析パッケージにもなっている。その考え方を理解し、プログラムを作成し、実際の問題に適用する。 8.数値積分(1) 数値積分の基本的な考え方を習得し、ステップ(階段)近似から始め、更に精度を増す台形公式へと発展させる。 |
授業の詳細3 |
9.数値積分(2) 台形公式よりも高精度な「シンプソンの積分公式」の原理理解、プログラム化、台形公式との精度比較を行い、アルゴリズムによって計算機資源を有効に活用することができることを体験する。 10.数値積分(3) 更に高度な数値積分式があることを紹介する。 11.演習問題 2日目に学習した線形方程式解法、数値積分の関する演習問題を解き、レポート提出を求める。本レポートは、評価の一部として用いる。演習問題を解くことで、受身の受講姿勢から、自らが意欲的 に問題解決にあたる姿勢を養う。 12.代数方程式の解法(1) 代数方程式解法の基本のニュートン法の原理理解、プログラム化を行う。 13.代数方程式の解法(2) ニュートン法は初期解を与えて、その初期値近傍の解を得る手法であるため、1つずつ初期解を与えて解を求める。これに対して、全ての根を計算する手法を理解する。 14.まとめ 科学技術計算の集中講義全般に関する質疑を行う。 15.テスト 課題を解き、提出する。5と11の演習問題とともに採点して成績評価とする。 |
授業の詳細4 |
成績評価 ◆AA:最初に設定した課題について正しく理解し,さらに独創的な議論を展開している. ◆A:最初に設定した課題について正しく理解し,より広範囲に,またはより深く追求している. ◆B:最初に設定した課題について正しく,かつ十分に理解している. ◆C:最初に設定した課題について正しく理解している. ◆F:評点Cの達成目標を満たさないもの.
□□□□□□□□□□□□□□□□□□□□ ◇テキスト 『Octaveを用いた数値計算入門』 北本卓也著(ピアソン・エデユケーション) ◇参考書 『MATLABプログラミング入門』 上坂吉則著(牧野書店) 『数値計算法』 戸川隼人著(コロナ社) ◇ 履修上の注意 ◇ 履修前の受講が望ましい科目: 情報リテラシーに関するような科目 |
授業の詳細5 |
|
授業の詳細6 |
|
授業の詳細7 |
|
授業の詳細8 |
|
授業の詳細9 |
|
授業の詳細10 |
|