Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 11, 2018 19:49:52

Simarglur
Зарегистрирован: 2018-11-11
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста с программой нахождения корней на заданном интервале

Требуется найти корни уравнения вида :

(E^(200 I k0) - 3 E^(600 I k0))/(-3 + E^(400 I k0)) = 1
на заданном интервале (предполагается что уравнения в общем-то будут разные в дальнейшем, но подобного вида).

Сперва написала такую задачу в wolfram mathematika
In[33]:= NSolve[(E^(200 I k0) - 3 E^(600 I k0))/(-3 + E^(400 I k0)) == 1 
&& -0.05067731239 <= Re[ k0 ] <= 0.05067731239, k0]
Out[33]={{k0 -> -0.0429185 + 0. I}, {k0 -> -0.0314159}, {k0 -> -0.0199133 + 0. I},
{k0 -> -0.0115026 + 0. I}, {k0 -> 0.}, {k0 -> 0.0115026 + 0. I}, {k0 -> 0.0199133 + 0. I},
{k0 -> 0.0314159}, {k0 -> 0.0429185 + 0. I}}
Тут вроде все верно.

Теперь пытаюсь написать похожее решение на Python.
Вот пример кода:
 from sympy import Symbol, sin, cos, I, exp, pi, solve, Eq, simplify, nsolve, solveset, pprint, ImageSet
k0 = Symbol('k0')
fun = (exp(200*I*k0) - 3*exp(600*I*k0))/(exp(400*I*k0) - 3) - 1
froot = solveset(fun, k0)
pprint(froot)
здесь пытаюсь в общем виде решить. А вообще тоже надо на интервале. Пробовала и разные численные решения и от Sympy и от scipy.optimize, не получается что-то.
Может вы знаете чем тут можно помочь?
Спасибо


Отредактировано Simarglur (Ноя. 11, 2018 20:34:07)

Офлайн

#2 Ноя. 11, 2018 22:58:59

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Помогите пожалуйста с программой нахождения корней на заданном интервале

ну ответ очевиден.
Код вольфрама не соответствует коду на питоне.
Немного почитайте докупи допишите правильно и все получится.
Но не угадывайте%)



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Ноя. 12, 2018 00:10:06

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Помогите пожалуйста с программой нахождения корней на заданном интервале

Simarglur
Может вы знаете чем тут можно помочь?
На Wolfram вычисляет корни.
На sympy v1.0 виснет
  
>>> solveset((exp(200 * x * I) - 3 * exp(600 * x * I)) / (-3 + exp(400 * x * I)) - 1)
повисло



Отредактировано py.user.next (Ноя. 12, 2018 00:16:57)

Офлайн

#4 Ноя. 12, 2018 00:12:47

Simarglur
Зарегистрирован: 2018-11-11
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста с программой нахождения корней на заданном интервале

py.user.next
На Wolfram вычисляет корни.
На simpy виснет
вот и я о том же

Отредактировано Simarglur (Ноя. 12, 2018 00:14:07)

Офлайн

#5 Ноя. 12, 2018 00:20:10

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Помогите пожалуйста с программой нахождения корней на заданном интервале

Simarglur
вот и я о том же
Можешь запулить им в багтрекер инфу, что Wolfram вычисляет, а их модуль виснет
https://github.com/sympy/sympy/issues/

Лучше начать с их группы, так как может и быть решение у проблемы какое-то.

Все вопросы по sympy туда, так как это сторонний модуль. Разработчики питона к этому не имеют отношения.



Отредактировано py.user.next (Ноя. 12, 2018 00:23:10)

Офлайн

#6 Ноя. 12, 2018 00:34:16

Simarglur
Зарегистрирован: 2018-11-11
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста с программой нахождения корней на заданном интервале

py.user.next
Можешь запулить

закинула, спасибо

Отредактировано Simarglur (Ноя. 12, 2018 00:34:41)

Офлайн

#7 Ноя. 12, 2018 00:35:41

Simarglur
Зарегистрирован: 2018-11-11
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста с программой нахождения корней на заданном интервале

А какие-то другие способы есть? просто по всякому пробовала ни в какую. Может есть еще что-то чего я не знаю ?

Офлайн

#8 Ноя. 12, 2018 00:39:38

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Помогите пожалуйста с программой нахождения корней на заданном интервале

Simarglur
А какие-то другие способы есть?
Есть клиент для Wolfram
https://pypi.org/search/?q=wolfram
https://pypi.org/project/wolframalpha/



Отредактировано py.user.next (Ноя. 12, 2018 00:40:47)

Офлайн

#9 Ноя. 12, 2018 00:49:06

Simarglur
Зарегистрирован: 2018-11-11
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста с программой нахождения корней на заданном интервале

py.user.next
Есть клиент для Wolfram
ух ты, спасибо огромное
щас гляну…

Офлайн

#10 Ноя. 12, 2018 01:42:03

Simarglur
Зарегистрирован: 2018-11-11
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста с программой нахождения корней на заданном интервале

пока выкрутилась тем что ищу через nsolve в окрестностях каждой точки, которая выбирается в заданном интервале с определенным шагом, а потом упорядочиваю результаты. Неудобно, но что поделать.

Отредактировано Simarglur (Ноя. 12, 2018 01:44:46)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version