You have conditions like
What you actually mean, I guess, is
22.22>X(1,i) && X(1,i)>11.11|
Let's say, X(1,i) is 15. Certainly, you think the result here should be true. But it is false! Why? The first statement will be evaluated from left to right. So, first 22.22>15 is evaluated and results in true. Then the comparison is true>11.11. Obviously, that doesn't work. So, true is converted to 1 and the comparison reads 1>11.11 which of course is false. Not what you intended, I guess.
Second, maybe you should think about the general structure again. It's pretty complicated this way, isn't it? Why not install some current acceleration variable (say, Gcur) which is Gacc at the beginning, is set to Gdec when the velocity is less than 11.11 and is set to Gacc again when the velocity exceeds 22.22? That would be much easier to understand. Just as a hint ;-)