Solved Task 1a
This commit is contained in:
parent
599bc38c17
commit
41b2cb6c57
Binary file not shown.
|
@ -0,0 +1,40 @@
|
||||||
|
import math
|
||||||
|
import time
|
||||||
|
|
||||||
|
import numpy as np
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
|
||||||
|
def F(x):
|
||||||
|
return (230 * math.pow(x, 4) + 18 * math.pow(x, 3) + 9 * math.pow(x, 2) - 9) / 221
|
||||||
|
|
||||||
|
def FDiff(x):
|
||||||
|
return (920 * math.pow(x, 3) + 54 * pow(x, 2) + 18 * x) / 221
|
||||||
|
|
||||||
|
|
||||||
|
def calcAlpha(start, stop, FDiff):
|
||||||
|
x = np.arange(start, stop + abs(((start-stop)/100)), abs(((start-stop)/100)))
|
||||||
|
y = [FDiff(x_value) for x_value in x]
|
||||||
|
ymax = max(y)
|
||||||
|
return ymax
|
||||||
|
|
||||||
|
def iteration(x0, startValue, endValue, function, functionDiff, maxFehler):
|
||||||
|
alpha = calcAlpha(startValue, endValue, functionDiff)
|
||||||
|
print("alpha", alpha)
|
||||||
|
x = [x0]
|
||||||
|
n = 0
|
||||||
|
while(True):
|
||||||
|
time.sleep(1)
|
||||||
|
n = n + 1
|
||||||
|
x.append(function(x[n-1]))
|
||||||
|
print("n:", n, "x:", x[n])
|
||||||
|
fehlerabschatzung = abs(x[n] - x[n - 1]) # math.pow(alpha, n) / (1 - alpha)) *
|
||||||
|
print("fehlerabschatzung", fehlerabschatzung)
|
||||||
|
if(fehlerabschatzung < maxFehler):
|
||||||
|
print("n: ", n)
|
||||||
|
return x[n]
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
result = iteration(x0=-0.1, startValue=-1, endValue=0, function=F, functionDiff=FDiff, maxFehler=math.pow(10, -6))
|
||||||
|
#result = iteration(x0=-1, startValue=0, endValue=1, function=F, functionDiff=FDiff, maxFehler=math.pow(10, -6))
|
||||||
|
print(result)
|
Loading…
Reference in New Issue