-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathInitGenerator.py
More file actions
58 lines (36 loc) · 1.14 KB
/
InitGenerator.py
File metadata and controls
58 lines (36 loc) · 1.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
'''
* Kuramoto.py
*
* Created on: 08.01.2019
* Author: Philippe Lehmann
* Coauthor Andrew Jason Bishop
*
* General description:
* xxx
'''
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as mp
from numpy import diff
class InitGenerator:
def __init__(self, _seed = 935):
self.seed = _seed
self.initValues = None
self.N = 1
def setNumberOfOscillators(self, _numOsc):
self.N = _numOsc
def makeRandomInitConditions(self):
self.prepareRandomGenerator()
self.prepareInitVector()
self.makeRandomInitPhases()
self.makeRandomInitCouplings()
return self.initValues
def prepareRandomGenerator(self):
np.random.seed( self.seed )
def prepareInitVector(self):
self.initValues = np.zeros(self.N*self.N+self.N)
def makeRandomInitPhases(self):
self.initValues[0:self.N] = (2*np.pi) * np.random.random_sample(self.N)
def makeRandomInitCouplings(self):
self.initValues[self.N:] = (1+1) * np.random.random_sample(self.N*self.N) - 1
''' END '''