a = 0 ++= L nkkja ),,2,1( )/( ×−= baabb )/( ×−= aaaaa ++= L ,,2,1 nkkj

全文

(1)

21 本日は演習問題のみです.

演習問題

16. 演習問題15の前段階として,以下の手順を付け加えて線形方程式



 



 

=



 



 



 



 

n n

nn n

n n

b b b

x x x

a a

a a

a

a a

a

M M

L L

M O M M

L L

2 1 2

1

1

2 22

21

1 12

11

を解くガウスの消去法のプログラムを完成させよ.

手順

1 , , 2 ,

1 −

= n

k L

n k

k

i = + 1 , + 2 , L , n k

k

j = + 1 , + 2 , L ,

kj kk ik ij

ij

a a a a

a = − ( / ) ×

k kk ik i

i

b a a b

b = − ( / ) ×

なお,

a

kk

= 0

のときには,

a

jk

( j = k + 1 , k + 2 , L , n )

の中で,絶対値最大のものがあ る行と,第

k

行をすべて入れ替える.

つぎに,これを利用して以下の手順で問題を作成し解を求めよ.

① http://www-tamlab.sys.es.osaka-u.ac.jp/~taji/lecture/lecture.html にある「問題 生成プログラム」をダウンロードする.

② プログラムを実行し,指示に従い学籍コードを入力すると,次ページで説明する ような問題のファイルができる.

③ その問題の解を求めよ.(万が一解が求められなかった場合は,②で学籍コード を入力する替わりに,適当な3桁の数を入力せよ.またその場合,レポートに,

入力した数を記しておくこと)

17. 二分法やニュートン法以外にも,多項式の根を求める方法がいくつかある.それらを 調べ,A4,1ページ程度にまとめなさい.

18. 講義内容や,配布したプリントなどに誤りがあれば,指摘して下さい.

以上3問を,レポートとして提出すること.

締 切:12月20日(金)12時(期限厳守)

提出先:システム事務室

なお,問題16については,解答が間違っていた場合,再提出を命じます.

(2)

22 問題16のファイルデータの説明

問題生成プログラムは,以下のようなテキストファイルを生成します.

まず1行目に行列の次元(方程式の数)が書かれています.2行目から,

− 1 − 1 − 1

の 行までは行列

A

の要素であり,それぞれの行は

i j a

ij を表しています.そのあとに,

右辺のベクトル

b

の要素が続き,各行は

i b

i となっています.最終行の

− 1 − 1

はデ ータのおわりを示しています.また,行列

A

の部分については,要素の値が 0 であるとこ ろは,省略します.

例えば,

 

 

 =

 

 

4 0 1

1 4 0

5 2 2

3 0 1

x

という問題例の場合,データは,

3

1 1 1 1 3 3 2 1 −2 2 2 2 2 3 5 3 2 4 3 3 −1

−1 −1 −1 1 1 2 0

3 −4

−1 −1 となります.

行列要素のおわりを示す 行列

A

の要素データ

ベクトル

b

のデータ 3行3列である

データの終わりを示す

Updating...

参照

Updating...

関連した話題 :