From 03009f782465dcced19bc5b54955b8000cbc9863 Mon Sep 17 00:00:00 2001
From: Valentin Gehrke <madmaurice@zom.bi>
Date: Thu, 17 Mar 2016 11:55:11 +0100
Subject: [PATCH] Patched frequencies in rk3.py

---
 rk3.py | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/rk3.py b/rk3.py
index 5b6201a..c83ad18 100644
--- a/rk3.py
+++ b/rk3.py
@@ -1,5 +1,6 @@
 #!/usr/bin/env python
 import math
+import matplotlib.pyplot as plt
 
 def rk3(h,tn,yn,ys,param=[]):
     k1 = ys(tn,yn,*param)
@@ -13,17 +14,23 @@ def main():
     C = 1e-6
     us = lambda tn, un, f: (U(tn,f) - un)/(R*C)
     fc = 1.0/(2*math.pi*R*C)
-    for f in [ 2**(i) * fc for i in range(-5,8)]:
+    frequencies = [ 2**(i) * fc for i in range(-5,8)]
+    ucmax_list = []
+    ucmin_list = []
+    for f in frequencies:
+        print("Simulation f = %.3f Hz" % f)
         ucmax = 0
         ucmin = 0
         tn = 0
         un = 0
-        for i in range(1000000):
-            tn, un = rk3(0.000001, tn, un, us, [f])
+        for i in range(int(1000*f)):
+            tn, un = rk3(1/(1000*f), tn, un, us, [f])
             ucmax = max(un,ucmax)
             ucmin = min(un,ucmin)
+        ucmax_list.append(ucmax)
+        ucmin_list.append(ucmin)
 
-        print(" %10.3f : %10.6f %10.6f" % (f,ucmax,ucmin))
+    plt.plot(frequencies, ucmax_list, 'r', frequencies, ucmin_list, 'b').show()
 
 
 if __name__ == '__main__':