resolviendo dos ecuaciones diferenciales de dimensión en python con scipy

Soy un novato en Python. Tengo un sistema diferencial simple, que consta de dos variables y dos ecuaciones diferenciales y condiciones iniciales x0=1, y0=2 :

 dx/dt=6*y dy/dt=(2t-3x)/4y 

Ahora estoy tratando de resolver estas dos ecuaciones diferenciales y elijo odeint . Aquí está mi código:

 import matplotlib.pyplot as pl import numpy as np from scipy.integrate import odeint def func(z,b): x, y=z return [6*y, (b-3*x)/(4*y)] z0=[1,2] t = np.linspace(0,10,11) b=2*t xx=odeint(func, z0, b) pl.figure(1) pl.plot(t, xx[:,0]) pl.legend() pl.show() 

pero el resultado es incorrecto y hay un mensaje de error:

introduzca la descripción de la imagen aquí

 Excess work done on this call (perhaps wrong Dfun type). Run with full_output = 1 to get quantitative information. 

No sé qué está mal con mi código y cómo puedo resolverlo. Cualquier ayuda me será de utilidad.

Aplique truco para desingularizar la división por y , imprima todas las evaluaciones de la función ODE, trace ambos componentes y use la ecuación diferencial correcta con el código modificado

 import matplotlib.pyplot as pl import numpy as np from scipy.integrate import odeint def func(z,t): x, y=z print t,z return [6*y, (2*t-3*x)*y/(4*y**2+1e-12)] z0=[1,2] t = np.linspace(0,1,501) xx=odeint(func, z0, t) pl.figure(1) pl.plot(t, xx[:,0],t,xx[:,1]) pl.legend() pl.show() 

y ves que en t=0.64230232515 la singularidad de y=0 , donde y comporta como una función de raíz cuadrada en su vértice. No hay manera de cruzar esa singularidad, ya que la pendiente de y va al infinito. En este punto, la solución ya no es continuamente diferenciable, y por lo tanto, este es el punto extremo de la solución. La continuación constante es un artefacto de la desingularización, no una solución válida.

gráfica de x y y sobre t