# -*- coding: utf-8 -*-
u"""
Create some artificial data using coupled Rößler-oszillators.
"""
import numpy as np
import matplotlib.pyplot as plt
from eegpy.models.roessler import TwoRoessler

model_system = TwoRoessler(e1=0.03, e2=0.03)
data1 = model_system.integrate(np.arange(0, 500, 0.1))

from eegpy.analysis.phases import phase_coherence
print phase_coherence(data1[:, 0], data1[:, 3])

model_system.e1 = 0.07
model_system.e2 = 0.07
data2 = model_system.integrate(np.arange(0, 500, 0.1))
print phase_coherence(data2[:, 0], data2[:, 3])

data = np.concatenate([data1, data2], 0)
for i in range(3):
    plt.subplot(3, 1, i + 1)
    plt.plot(data[:, i], "k-")
    plt.plot(data[:, i + 3], "b-")

plt.show()
# -*- coding: utf-8 -*-
u"""
Create some artificial data using coupled Rößler-oszillators.
"""
import numpy as np
import matplotlib.pyplot as plt
from eegpy.models.roessler import TwoRoessler

model_system = TwoRoessler(e1 = 0.03, e2=0.03)
data1 = model_system.integrate(np.arange(0,500,0.1))


from eegpy.analysis.phases import phase_coherence
print phase_coherence(data1[:, 0], data1[:,3])

model_system.e1 = 0.07
model_system.e2 = 0.07
data2 = model_system.integrate(np.arange(0,500,0.1))
print phase_coherence(data2[:, 0], data2[:,3])   
    
data = np.concatenate([data1, data2],0)
for i in range(3):
    plt.subplot(3,1,i+1)
    plt.plot(data[:,i], "k-")
    plt.plot(data[:,i+3], "b-")
    
plt.show()
Beispiel #3
0
    #ko2 = Kuramoto()
    #ys2 = ko2.integrate(xs)
    #plt.plot(xs,np.sin(ys),label="omega = %.2f"%ko.omega)
    #plt.plot(xs,np.sin(ys2),label="omega = %.2f"%ko2.omega)
    #plt.legend()

    ##Test 2: Zwei symmetrisch gekoppelte Kuramoto
    from eegpy.analysis.phases import phase_coherence
    ks = np.arange(0.1, 0.15, 0.05)
    sigmas = np.arange(1., 12, 5)
    n_real = 1
    pcs = np.zeros((n_real, sigmas.shape[0], ks.shape[0]))
    for i_k, k in enumerate(ks):
        for i_s, sigma in enumerate(sigmas):
            print "k=%.2f, s=%.2f" % (k, sigma)
            for i_r in range(n_real):
                tr = NStochasticKuramoto(omegas=np.array([0.9, 1.1]),
                                         sigmas=np.ones((2)) * sigma,
                                         ks=np.array([[0, k], [k, 0]]))
                v = tr.integrate(np.arange(0, 70, 0.01))[-5000:]
                pcs[i_r, i_s, i_k] = phase_coherence(v[:, 0], v[:, 1])
                print " R=%.3f" % pcs[i_r, i_s, i_k]
                p.subplot(3, 1, i_s + 1)
                p.plot(v[:, 0])
                p.plot(v[:, 1])

    #p.imshow(pcs.mean(axis=0),vmin=0,vmax=1)
    #p.bar(np.arange(0.1,ks.shape[0],1),pcs.mean(axis=0),width=0.8)
    #p.errorbar(np.arange(0.5,ks.shape[0],1),pcs.mean(axis=0),pcs.std(axis=0),fmt="none",ecolor="r",elinewidth=2.,capsize=6.)
    #p.xticks(np.arange(0.5,ks.shape[0],1),ks)
Beispiel #4
0
    #ko2 = Kuramoto()
    #ys2 = ko2.integrate(xs)
    #plt.plot(xs,np.sin(ys),label="omega = %.2f"%ko.omega)
    #plt.plot(xs,np.sin(ys2),label="omega = %.2f"%ko2.omega)
    #plt.legend()

    ##Test 2: Zwei symmetrisch gekoppelte Kuramoto
    from eegpy.analysis.phases import phase_coherence
    ks = np.arange(0.1,0.15,0.05)
    sigmas = np.arange(1.,12,5)
    n_real = 1
    pcs = np.zeros((n_real,sigmas.shape[0],ks.shape[0]))
    for i_k,k in enumerate(ks):
        for i_s,sigma in enumerate(sigmas):
            print "k=%.2f, s=%.2f"%(k,sigma)
            for i_r in range(n_real):
                tr = NStochasticKuramoto(omegas=np.array([0.9,1.1]),sigmas=np.ones((2))*sigma,ks=np.array([[0,k],[k,0]]))
                v = tr.integrate(np.arange(0,70,0.01))[-5000:]
                pcs[i_r,i_s,i_k] = phase_coherence(v[:,0],v[:,1])
                print " R=%.3f" % pcs[i_r,i_s,i_k]
                p.subplot(3,1,i_s+1)
                p.plot(v[:,0])
                p.plot(v[:,1])
                
    #p.imshow(pcs.mean(axis=0),vmin=0,vmax=1)
    #p.bar(np.arange(0.1,ks.shape[0],1),pcs.mean(axis=0),width=0.8)
    #p.errorbar(np.arange(0.5,ks.shape[0],1),pcs.mean(axis=0),pcs.std(axis=0),fmt="none",ecolor="r",elinewidth=2.,capsize=6.)
    #p.xticks(np.arange(0.5,ks.shape[0],1),ks)