0 svar
161 visningar
Zorikan2017 behöver inte mer hjälp
Zorikan2017 237
Postad: 7 jun 2023 13:56 Redigerad: 7 jun 2023 14:16

Jag ska ange de fyra första intervallen med intervallhalveringsmetoden för att lösa en ekv.


Jag tog hjälp av denna koden och skrev in önskade intervall, dem 5 första alltså. Och fick till första intervallen I1 till [-1,3] vilket verkar vara ett gott tecken. Och sedan är jag dock osäker på dem nästkommande intervallen. Jag är osäker på om jag har använt rätt kod på alla kommandorader. 

 

import numpy as np

def equation(x):
return x - np.cos(x)/2

def interval_halving(fun, I_in, tol):
a = I_in[0]
b = I_in[1]
intervals = []

while b - a > tol:
c = (a + b) / 2

if fun(a) * fun(c) <= 0:
intervals.append([a, c])
b = c
else:
intervals.append([c, b])
a = c

return intervals[:5] # Första 5 intervallen

# Anropa funktionen med ekvationen och intervallet I1
intervals = interval_halving(equation, [-5, 3], 1e-5)

# Skriv ut de 5 första intervallen
for i in range(5):
print(intervals[i])

 

==

[-1.0, 3]
[-1.0, 1.0]
[0.0, 1.0]
[0.0, 0.5]
[0.25, 0.5]

Svara
Close