Assignment #4 - 92B
Assignment #4 - 92B
Assignment #4 Weight 20
============= Due 19 Oct
E-Mail to HDLV
>>> Resolution of system of linear equations <<<
This assignment is for you to use arrays in Fortran; so we will be
working with 1-dimensional and 2-dimensional arrays.
You will have to solve the following linear equation KX = F
where K is an n*n matrix
X is an n*1 matrix or a vector (array)
F is an n*1 matrix
You have to solve such a system of equations in static deformation
and stress analysis where K corresponds to, for example, the stiffness
matrix, X represents the displacement vector and F is the force vector.
(Just so you know this could be useful !)
The system to solve is of this form:
a1*x + b1*y + c1*z = a
a2*x + b2*y + c2*z = b
a3*x + b3*y + c3*z = c
where a1 b1 c1 x a
K = a2 b2 c2 , X = y , F = b
a3 b3 c3 z c
Several techniques can be used to solve the system. You have to use the
following method (known as the Cramer's method).
This method involves the use of determinants. For a 3*3 matrix, we
compute the determinant this way:
| a1 b1 c1 |
det(K) = | a2 b2 c2 | = a1*| b2 c2 | - b1*| a2 c2 | + c1*| a2 b2 |
| a3 b3 c3 | | b3 c3 | | a3 c3 | | a3 b3 |
and where | a b | = a*d - c*b
| c d |
The solutions of the system are :
x = det(Kx)/det(K) , y = det(Ky)/det(K), etc...
where det(Kx) is the determinant of the matrix K where the column
corresponding to the variable x is replaced by the values of the
vector F.
Implement this method using matrix manipulations. Run your program on
these 2 systems of equations:
2x + 3y - z = 1 2x - 5y + 2z = 7
3x + 5y + 2z = 8 x + 2y - 4z = 3
x - 2y - 3z = -1 3x - 4y - 6z = 5
Finally, you have to implement a procedure which will verify your
results by doing a matrix multiplication of a 3*3 matrix with a 3*1
matrix. That is, multiplying your initial matrix K with your solution
vector.
Print out the system of equations in its matrix format: KX = F.