# Numerically calculating the solution for a non-homogeneous ODE system

• A
I have been solving system of homogeneous ODE numerically using Crank-nicolson (CN) method but now I have a system of non-homogeneous ODE. It would seem that CN would not work since the rank of the matrix will be less than the dimension of the matrix. Is there any other method that can numerically calculate a system of non-homogeneous ODE?

Twigg
Gold Member
What are the equations?

jim mcnamara
It is like

$$\dot{x_1}=x_1-x_2+x_3+a$$
$$\dot{x_2}=x_1+2x_2+x_3 +b$$
$$\dot{x_3}=-x_1+x_2+x_3+c$$

where a,b and c are constants w.r.t. time

bigfooted
Gold Member
The Crank-Nicolson scheme is for PDE's, specifically for diffusion equations. How do you use it in a system of ODE's? If you just average x1,x2 and x3 over the current and next time step, you are actually applying the trapezium rule method. Anyway, if the nonhomogeneous terms are constants, they will simply appear on the diagonal of your discretization matrix.

Yes I just realized that it is called the trapezium method. I do not understand why they are on the diagonal. Using the case that I provided, how should I construct the matrix?

Twigg
Gold Member
I may be wrong here, but I'm pretty sure this system can be solved analytically with Laplace transforms. If that's not what you're after, the trapezoidal rule should work too.

Have you tried runge-kutta methods? I've been using it to solve some classical gravitational dynamics which have this level of difficult.