about summary refs log tree commit diff
path: root/usth/MATH2.4/labwork/1/ratpoison.py
diff options
context:
space:
mode:
authorNguyễn Gia Phong <vn.mcsinyx@gmail.com>2020-02-16 14:26:55 +0700
committerNguyễn Gia Phong <vn.mcsinyx@gmail.com>2020-02-16 14:26:55 +0700
commit82e6cf7d1046d6cee16f7e8b044ec33e7ec6c4b7 (patch)
treef7b7ae0bce69070c47a1b31a85bd2bc69dfecf09 /usth/MATH2.4/labwork/1/ratpoison.py
parent29d1001e2e21eff289bff23412e284c8b2e44595 (diff)
downloadcp-82e6cf7d1046d6cee16f7e8b044ec33e7ec6c4b7.tar.gz
[usth] Numerical Method is MATH2.4
Diffstat (limited to 'usth/MATH2.4/labwork/1/ratpoison.py')
-rw-r--r--usth/MATH2.4/labwork/1/ratpoison.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/usth/MATH2.4/labwork/1/ratpoison.py b/usth/MATH2.4/labwork/1/ratpoison.py
new file mode 100644
index 0000000..16aa65d
--- /dev/null
+++ b/usth/MATH2.4/labwork/1/ratpoison.py
@@ -0,0 +1,8 @@
+def ratpoison(f, df, x, es=10**-8, imax=20):
+    ea, i = 1, 0
+    while ea > es and i < imax:
+        i += 1
+        xold, x = x, x - f(x)/df(x)
+        if f(x) == 0: return x, 0, 0, i
+        if x: ea = abs((x - xold) / x)
+    return x, f(x), ea, i