Size: a a a

Data Science Chat

2021 September 01

Н

Николай in Data Science Chat
import math
import time

def rootsearch(f,a,b,dx):
   x1 = a; f1 = f(a)
   x2 = a + dx; f2 = f(x2)
   while f1*f2 > 0.0:
       if x1 >= b:
           return None,None
       x1 = x2; f1 = f2
       x2 = x1 + dx; f2 = f(x2)
   return x1,x2
def bisect(f,x1,x2,switch=0,epsilon=1.0e-9):
   f1 = f(x1)
   if f1 == 0.0:
       return x1
   f2 = f(x2)
   if f2 == 0.0:
       return x2
   if f1*f2 > 0.0:
       print('Root is not bracketed')
       return None
   n = int(math.ceil(math.log(abs(x2 - x1)/epsilon)/math.log(2.0)))
   for i in range(n):
       x3 = 0.5*(x1 + x2); f3 = f(x3)
       if (switch == 1) and (abs(f3) >abs(f1)) and (abs(f3) > abs(f2)):
           return None
       if f3 == 0.0:
           return x3
       if f2*f3 < 0.0:
           x1 = x3
           f1 = f3
       else:
           x2 =x3
           f2 = f3
   return (x1 + x2)/2.0
def roots(f, a, b, eps=1e-6):
   print ('The roots on the interval [%f, %f] are:' % (a,b))
   while 1:
       x1,x2 = rootsearch(f,a,b,eps)
       if x1 != None:
           a = x2
           root = bisect(f,x1,x2,1)
           if root != None:
               pass
               print (round(root,-int(math.log(eps, 10))))
       else:
           print ('\nDone')
           break
           
f=lambda x:1-1.12*(x**(0.5))*((1-x)**(0.02))-0.71*(x**(-0.05))*((1-x)**(1.8))
#5
# вместо f напишите свою функцию

start_ = time.time()
# здесь задайте свой интервал
# должен вывести все корни на  интервале
roots(f,0.001,0.999)
end_ = time.time()
print('time', end_-start_)
источник

Н

Николай in Data Science Chat
Другой вариант сделайте в WolframAlpha)
источник

S

Somebody in Data Science Chat
Можно попробовать такой финт ушами, вряд ли получится:
Уравнение вида A(x)sin(f(x))+B(x)sin(g(x))=0
Поделим это на A^2+B^2
Получим sin(z(x))sin(f(x))+cos(z(x))sin(g(x))
Поделим на sin^2(f(x))+sin^(g(x))
В итоге получится sin(z(x)+w(x))=0
Что получим?
Не понятно
Авось упростится
источник

Н

Николай in Data Science Chat
источник

S

Somebody in Data Science Chat
Какая дичь
источник

Н

Николай in Data Science Chat
Дичь не дичь но работает и для не самых простых примеров )
Причём выводит именно все корни)
источник

S

Somebody in Data Science Chat
Это численные методы, речь явно не о них
источник

Н

Николай in Data Science Chat
Человеку нужен ответ а не решение)
Я дал ему удочку)
источник

S

Somebody in Data Science Chat
Где ж ты это прочитал
источник

Н

Николай in Data Science Chat
На картинке все есть)
источник

S

Somebody in Data Science Chat
Блин, и правда =/
источник

S

Somebody in Data Science Chat
Начальное приближение еще
источник

S

Somebody in Data Science Chat
Фу
источник

S

Somebody in Data Science Chat
Я уже решать бросился
источник

Н

Николай in Data Science Chat
f=lambda x:((3*x+4)*(3*x+4)*math.sin(x+5)/((math.log(x+11))*math.exp(4)))+(math.sin(math.log(x+12)))/2
источник

Н

Николай in Data Science Chat
Ответ :16.984
источник

Н

Николай in Data Science Chat
Если нигде не ошибся то ответ такой)
источник

Н

Николай in Data Science Chat
Ответ: 16.984
Если что-то не понятно пишите поясню)
источник
2021 September 02

TM

Tony Montana in Data Science Chat
Приветствую, такой вопрос - есть ли какая-то стажировка для новичков в python ( даже не junior) и excel?
источник

И

Игорь in Data Science Chat
Странное сочетание, для excel лучше подойдёт vba
источник