Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 20, 2022 19:36:35

nastiayy
Зарегистрирован: 2022-02-20
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Matplotlib

Здравствуйте. Возможно ли по построенному графику найти точки в которых функция будет обнуляться? График построен в питоне с помощью Matplotlib.

Прикреплённый файлы:
attachment Figure_3.png (70,6 KБ)

Офлайн

#2 Фев. 21, 2022 01:33:29

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

Matplotlib

nastiayy
Возможно ли по построенному графику найти точки в которых функция будет обнуляться?
Чтобы найти, где обнуляется функция, нужно иметь её полином f(x) и найти такие x при которых f(x) = 0 . А по графику ты ничего не поймёшь. Если только у тебя есть код, строящий этот график, это может что-то дать. И то, не всегда можно построить полином по известным точкам. Например, если у тебя есть множество пар (x, y) точек параболы, то из этого множества пар никак не следует, что это именно точки параболы, даже если график, построенный по этим точкам будет очень сильно похож на график параболы. Просто между любой парой точек может найтись точка, которая параболе не принадлежит. И множество функций, графики которых могут быть очень сильно похожи на график параболы, бесконечно.



Отредактировано py.user.next (Фев. 21, 2022 01:34:17)

Офлайн

#3 Фев. 21, 2022 10:32:49

nastiayy
Зарегистрирован: 2022-02-20
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Matplotlib

У меня есть сложное уравнение, при подстановки в которое трех точек (координаты x, y которых есть в списке ar) оно должно равняться нулю. Уравнение: equation = (L3 - L2)*math.log(R1) + (L1 - L3)*math.log(R2) + (L2 - L1) * math.log(R3). Здесь R = math.sqrt(((R0)*(R0)) + (Xn*Xn)+Yn*Yn - (2 *(R0)*Xn), где Xn,Yn известные координаты из списка ar. cos(Ln) = (R0-Xn)/math.sqrt((R0 - Xn)*(R0 - Xn)+Yn*Yn) и sin(Ln)= Yn/math.sqrt((R0 - Xn)*(R0 - Xn)+Yn*Yn), по синусу и косинусу однозначно восстанавливается один угол Ln. Получается что Ln и Rn зависят только от неизвестного R0. Если таким образом посчитать Ln и Rn для тройки точек(n = 0, 1, 2) и подставить в уравнение equation, то можно построить график equation(R0) - ниже прикреплен для одной тройки и десяти тройки точек.

Задача найти R0 при котором equation обнуляется. Я не смогла найти способ просто вывести нули по построенному графику и не получается через sympy (выводит пустой список, когда на графике очевидно, что корни есть), метод половинного деления нормально не получилось написать, чтобы было возможно искать все нули на заданном промежутке. Может все-таки возможно как-то просто вывести нули по построенному графику или есть другие способы решения проблемы?

Офлайн

#4 Фев. 21, 2022 20:09:45

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

Matplotlib

Напиши формулу точно, а не приблизительно. Напиши её математически, а не в питоновском синтаксисе. И математически ищи нули функции.

Попробуй LaTeX использовать.



Отредактировано py.user.next (Фев. 21, 2022 20:12:24)

Прикреплённый файлы:
attachment screen_formula.png (17,5 KБ)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version