Next: Integrating Differential Equations, Previous: Matrix Arithmetic, Up: Simple Examples [Contents][Index]
Systems of linear equations are ubiquitous in numerical analysis.
To solve the set of linear equations Ax = b
,
use the left division operator, ‘\’:
x = A \ b
This is conceptually equivalent to
inv (A) * b
,
but avoids computing the inverse of a matrix directly.
If the coefficient matrix is singular, Octave will print a warning message and compute a minimum norm solution.
A simple example comes from chemistry and the need to obtain balanced chemical equations. Consider the burning of hydrogen and oxygen to produce water.
H2 + O2 --> H2O
The equation above is not accurate. The Law of Conservation of Mass requires that the number of molecules of each type balance on the left- and right-hand sides of the equation. Writing the variable overall reaction with individual equations for hydrogen and oxygen one finds:
x1*H2 + x2*O2 --> H2O H: 2*x1 + 0*x2 --> 2 O: 0*x1 + 2*x2 --> 1
The solution in Octave is found in just three steps.
octave:1> A = [ 2, 0; 0, 2 ]; octave:2> b = [ 2; 1 ]; octave:3> x = A \ b