# -*- 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()
#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)
#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)