連立多元一次方程式の数値解法


行列やベクトルの乗算

1. 行列とベクトルの乗算

4 × 4 以下の正方行列と長さ 4 以下のベクトルとの積を求める。 入力は標準入力から与え、綺麗に整形して出力する。

プログラム例 , 実行結果例 , 実行ファイル例: /class/mce/takata3m/xmp31

2. 行列同士の乗算

4 × 4 以下の正方行列ふたつの積を求める。 入力は標準入力から与え、綺麗に整形して出力する。

プログラム例 , 実行結果例 , 実行ファイル例: /class/mce/takata3m/xmp32


ファイル内の行列に対する計算

1. (発展問題) 会話的なファイルの指定

入力データを納めたファイル名をキーボードから読み込んで、 そのファイルの内容をデータとして利用する。

プログラム例 , 実行結果例 , 実行ファイル例: /class/mce/takata3m/xmp33

2. (発展問題) コマンド行からのファイルの指定

入力データを納めたファイル名を、 コマンド名に引き続くコマンド引数から読み込んで、 そのファイルの内容をデータとして利用する。
また、 通常は極力出力に余計なメッセージが出ないようにし、 特に指定されたときだけ詳細な出力を出すようにする。

プログラム例 , 実行結果例 , 実行ファイル例: /class/mce/takata3m/xmp34

コマンド行からデータやデータ・ファイルの指定をできるようにすると、 大量のデータに対して同じ処理を行ないたい場合に威力を発揮する。
数値積分の解説ページの発展問題の注釈を参考にすること。

3. (発展問題) 環境変数からのデータ入力

読み込む行列のサイズについては あまり頻繁には変える必要がないので、 環境変数 MATRIXSIZE に設定してプログラムに与えることとする。
ついでに、 読み込むべきファイル名を指定されなかった場合には、 標準入力から読み込むように仕様を変更する。

プログラム例 , 実行結果例 , 実行ファイル例: /class/mce/takata3m/xmp35

通常はコマンド行の長さには上限があるので、 オプションの数が多いとき、 オプション引数が長いとき、 オプション引数が毎回は変化しないとき、 などには 環境変数からデータを読み込むようにすると コマンド引数がすっきりする。

getenv 関数に引数として、必要な環境変数の名前を文字列で渡す。 この関数は、 その環境変数の値が存在すれば その値を示す文字列へのポインタを返すので、 そこから strncpy 関数で値を自分の宣言した文字型配列にコピーしてから利用する。 もしもその環境変数の値が見つからなかったら NULL ポインタを返してくるので、 その場合の処理をしっかりプログラムしておくこと。


連立多元一次方程式の数値解法

Gauss-Jordan 法

行列の対角要素のみを 1 にし、 残りを全て 0 にすることによって、 解を求める。

提出課題 4 締め切り: 2010 年 1 月 29 日 (金曜) 18:00


Copyright (c) 2001-2002, takata@cc.uec.ac.jp