Yamamoto's Laboratory
講義ノート 2007年度 計算機応用 (C言語を使った数値計算)

計算機応用 (C言語を使った数値計算)

C言語を使い,数値計算の基本的なことを学習します.

対象 電気工学科 第5学年(2007年度)
教科書 「新訂 新C言語入門(シニア編)」, 林晴比古, ソフトバンク パブリッシング, ISBN 4-7973-2562-3.
自作プリント
授業概要 シラバスを参照してください。

C言語の習得

UNIX

本講義の開発環境は,主にLinux(UNIX)を使う.私がLinuxに慣れているし,Windowsよりもおもしろいと思っているからだ.しかし,ここで学習する内容であればWindousでプログラムの開発してもほとんど変わらない.したがって,Windowsに慣れている者はその環境で開発しても良い.Windowsにも必要な開発環境をインストールしている.

C言語習得者向け課題

最初の10回の授業では,主にC言語の文法の学習を行う.簡単なプログラムが書けるようになることを目指す.ある程度C言語のプログラムが書ける者にとってはつまらない内容である.そこで,その者には授業と無関係に,以下の問題を与える.この問題のプログラムができたら,C言語の学習—最初の10回の授業—での課題(レポート)を全て免除する.また,いきなり困難な問題にチャレンジすることにより,C言語の習得を目指す者もこのプログラムを作成してみよ.

C言語の文法の学習

この講義のメインテーマは数値計算である.実際に,数値計算を行うためにはプログラミングができなくてはならない.そのため,数値計算の内容を学習する前にC言語の大体の機能を学習する.ここでは,C言語でできることが分かればよい.数値計算を学びそのプログラムを記述するうちに,C言語の習得を目指す.

グラフ作成(gnuplot)

数値計算の結果はグラフにすることが多い.そこで,グラフ作成ソフトウェアーgnuplotの簡単な使い方を学ぶ.

その他

数値計算の基礎

ここでは,コンピューターを用いて数値計算を行うテクニックを学ぶ.学習する内容は,様々な方程式の近似解の求め方,積分やデータの処理の方法などである.ここでの内容を理解するためには,これまで学んできた数学の知識が必要である.加えて,プログラミングができなくてはならない.数学の復習およびプログラミングの練習を行う—という態度で授業を受けてほしい.

諸君がこれまで学習した数学では厳密解を求めていた.しかし,ここで学習するコンピューターでの数値計算では近似解を求める.近似といっても,その精度は非常に良く,10-10位は簡単に計算できる.さらに,数学の厳密解が得られない計算でも,数値計算では近似解を得ることができる.

数値計算では,どんな計算でも同じ手法が使える.たとえば,常微分方程式を解く場合,ルンゲ・クッタ法のみで数値計算はできる.それに対して,数学では,変数分離形になおしたりラプラス変換を使ったりしただろう.それでも数学では解けない—厳密解のない—場合がほとんどである.

数値計算は非常におもしろい.驚くほど単純な原理で,複雑な計算ができる.単純な計算をコンピューターで高速に処理することにより,すばらしい結果を得ることができる.この数値計算は,単純なものから複雑なものを構成する良い例である.単純な論理回路からコンピューターが作られるのと同じである.

非線形方程式

非線形方程式を二分法とニュートン法で計算する方法を学ぶ.進んだ問題として,ニュートン法を用いて非線形方程式の複素数解と連立非線形方程式も取り扱う.

常微分方程式

常微分方程式の近似解を計算する方法を学ぶ.オイラー法にはじまり,4次のルンゲ・クッタ法まで学習する.

連立一次方程式

連立一次方程式の近似解を計算する方法を学ぶ.消去法と反復法について学ぶ.

補間法と最小二乗法

実験データのように,二つの組になった複数のデータがある場合の処理のプログラムについて学ぶ.ラグランジュ補間とスプライン補間,線形最小二乗法について,コンピューターで計算する方法を学習する.

積分

計算機による数値積分の方法を学習する.ここでは,(1)台形公式,(2)シンプソンの公式,(3)論バーグ積分,(4)モンテカルロ積分を取り上げている.

偏微分方程式

ここでは,偏微分方程式を差分法で数値計算する方法を学習する.学習する偏微分方程式は,ラプラス方程式と波動方程式である.

試験

学習の参考に試験問題と解答を公開する.この手の練習問題を書いた書籍は無いので,試験前の勉強に使えるだろう.少なくとも理解すべき内容が分かるのも都合がよい.試験を受けるときには,過去問くらいは勉強してきてほしいものだ.

前期中間試験

試験対策

試験

前期末試験

試験対策

試験

後期中間試験

試験対策

試験

卒業試験

試験対策

試験



no counter