Я написал код, который отлично работает для численного решения уравнений, но есть одно конкретное уравнение, которое, когда я попадаю туда и пытаюсь запустить код - оно будет работать, и никакой выходной информации никогда не будет!
Уравнение Я получил выход для: x ^ 3-3 * x + 2-a * (np.sin (x))
Уравнение, для которого я не получил выход: (x-1) (x-2) (x-3) -a * (np.cos (x))
Я также попытался написать второе уравнение без скобок, например:x ^ 3-6 * x ^ 2 + 11 * x-6-a * np.cos (x)
и это не помогло. в чем проблема?!
это мой код:
import math
import numpy as np
h =1e-5
eps =1e-8
#function of the equation
def nf(x,a,c):
c=math.cos(x)
solu=(x-1)*(x-2)*(x-3)-a*c
return(solu)
#numerical method
def sl(a,x):
c=math.cos(x)
f = nf(x,a,c)
while abs(f)>eps:
x = x - h*f/(nf(x+h,a,c)-f)
f = nf(x,a,c)
return(x)
N = 101
mya = np.linspace(0.0,1.0,N)
myb = np.zeros(mya.shape)
myc = np.zeros(mya.shape)
myd = np.zeros(mya.shape)
for i in range(0,N):
myb[i] = sl(mya[i],1.0)
myc[i] = sl(mya[i],2.0)
myd[i] = sl(mya[i],3.0)
print(myb[i])
print(myc[i])
print(myd[i])