# Numerical Method for System of ODEs

I am trying to solve a system of ordinary differential equations as follows:

z1' = 2*z1 + 2*z4
z2' = z2 + 2*z5
z3' = z3 + z6
z4' = z4 - z1
z5' = z5 + 3*z2
z6' = z6 - 2*z3


with boundary conditions of

z2(0) = z4(0) = z6(0) = 0
z2(2) = 1, z4(2) = 1, z6(2) = 3


Does anyone know of an effective algorithm that could solve this problem? Currently I am trying to do a shooting method and guessing the initial values for z1, z3, and z5. Is it possible to update all of the inital guesses for shooting at the same time? If so, how would I do it? If there is a better way to approach it please let me know.

-
You're updating three ICs already (how, by the way?), why can't you update six? I've never coded up a shooting method (caveat: you may want to stop reading here), but if I had to I'd define an error function (at the boundary $t=2$) and minimize it using Newton's method on the gradient. –  automaton 3 Sep 28 '13 at 13:02