示例#1
0
def Nrelax(w,eta):
    '''
    Esta funcion recibe como parametros la
    frecuencia de oscilacion del suelo y el
    coeficiente de restitucion. Como resultado
    crea una figura que permite evaluar
    visualmente si v'_n converge y de que forma
    lo hace.
    '''
    #Condiciones iniciales
    y=0 #posicion
    v=2 #velocidad
    s=1 #signo de la velocidad
    n=0 #numero de botes
    while n<100:
        out=outnchoque(y,v,w,s,eta)
        y=out[0] #posicion del choque
        v=out[1] #v' despues del choque
        s=out[2] #signo de v_s despues del choque
        n+=1
        plt.figure(1)
        plt.plot(n,v,'go')
    plt.xlabel('Numero de colisones $n$')
    plt.ylabel('Velocidad despues del bote $v\'_n$')
    plt.title('Comportamiento de $v\'_n$ versus la cantidad de botes $n$, $\omega =$ '+str(w))
    num=str(w)
    num=num.replace('.','')
    plt.savefig('estabilidad'+num+'.eps')
    return
示例#2
0
w3=np.linspace(1.68,1.724,45)
w4=np.linspace(1.725,1.7398,50)
w5=np.linspace(1.735,1.79,45)
w=np.concatenate((w1,w2,w3,w4,w5))
eta=0.15

#Condiciones iniciales
y=0
v=2
s=1
t=0

#Evolucion de particula
i=0 #contador de w
plt.figure(1)
while i<len(w):
    n=0 #contador de botes
    while n<150:
        out=outnchoque(y,v,w[i],s,eta)
        y=out[0] #posicion del choque
        v=out[1] #v' despues del choque
        s=out[2] #signo de v_s despues del choque
        n+=1
        if n>100:
            plt.plot(w[i],v,'bo')
    i+=1
plt.xlabel('Frecuencia angular $\omega$')
plt.ylabel('Velocidad despues del bote $v\'_n$')
plt.title('Valores estacionarios de $v\'_n$ versus $\omega$ ')
plt.savefig('bifurcacion.eps')