Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Решение квадратного уравнения c малым коэффициентом при x^2
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
Timmy
Решая задачу по широтно-импульсной модуляции, случайно получил альтернативную формулу решения квадратного уравнения, которая без потери точности позволяет находить меньший по модулю корень при малом a, вплоть до нуля. Вот запись для просмотра и проверки в Математике:
Код
a x^2 + b x + c == 0
{{x -> -2 c / (b + Sqrt[b^2 - 4 a c])}, {x -> -2 c / (b - Sqrt[b^2 - 4 a c])}}
Simplify[%% /. %]

Нажмите для просмотра прикрепленного файла
Как можно видеть, корень дискриминанта переехал в знаменатель, и меньшему по модулю корню соответствует большее по модулю значение -b+-Sqrt(D), что делает данную формулу предпочтительной для вычисления меньшего по модулю корня. Гугление нигде подобной формулы не обнаружило, что странно, так как я вряд ли первым изобрёл столь элементарную формулу, которая реально полезна при некоторых расчётах и должна бы быть более широко известна. Или всё-таки первым?
Xenia
Цитата(Timmy @ Jun 8 2014, 23:48) *
Решая задачу по широтно-импульсной модуляции, случайно получил альтернативную формулу решения квадратного уравнения, которая без потери точности позволяет находить меньший по модулю корень при малом a, вплоть до нуля.


А при c=0 ваша формула работает? Или всегда нули дает?
cant
сколько не старался, так и не увидел, в чем упрощение получается. специально сравнил со стандартной формулой. Разъясните более подробно пожалуйста

пока я вижу даже наоборот: реализация в коде оригинала видися оптимальней
alexr22b
Googling finds this: http://en.wikipedia.org/wiki/Loss_of_significance
Timmy
Цитата(alexr22b @ Jun 9 2014, 05:52) *

Спасибо, слона то я и не приметилsm.gif. Удивительно, что в справочниках и в школе "перевёрнутая" формула вообще не упоминается. А так в статье всё расписано, для корня с большим модулем используется классическая формула, с меньшим - перевёрнутая. При c==0 она тоже работает, для нулевого корня, а второй ненулевой надо считать по классической формуле.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.