[itbase2024]Fortran 実習 連立一次方程式の数値解法 練習問題
練習問題 1
講義で説明した, 下の連立一次方程式を解くプログラムを作りなさい.
2 x + 4 y + 6 z = 20 2 x + 6 y + 8 z = 16 4 x + 10 y + 10 z = 40
ヒント
- 講義の説明に従って, 少しずつ作ってみましょう.
まずは行列やベクトルを用意しなければいけません. 最初は下のようなプログラムから始めるのが良いでしょう.
program simlineq implicit none integer, parameter :: nn = 3 real :: matrix(nn,nn) real :: vector(nn) integer :: i integer :: j ! 左辺の行列の準備 matrix(1,1) = 2.0 matrix(1,2) = 4.0 matrix(1,3) = 6.0 matrix(2,1) = 2.0 matrix(2,2) = 6.0 matrix(2,3) = 8.0 matrix(3,1) = 4.0 matrix(3,2) = 10.0 matrix(3,3) = 10.0 ! 右辺のベクトルの準備 vector(1) = 20.0 vector(2) = 16.0 vector(3) = 40.0 ! 行列とベクトルの表示 (確認のため) do i = 1, nn write( 6, * ) (matrix(i,j), j=1,nn), "|", vector(i) end do end program simlineq
- 自分ができるところから作っていけば良いですが, 正しく動作するプログラムを作ることができたら, 行っている処理の規則性に注意して,「繰り返し (do loop)」を使うなどして一般化する方法を考えてみましょう.
Keyword(s):
References:[[itbase2024]惑星学実験実習の基礎II]