Помогите пожалуйста решить следующую проблему. Есть список известных значений y, которые вычисляются по формуле 4x(1-x)^2, и необходимо для каждого значения y найти свое значение x. При этом известно, что x может колебаться в пределах 0<x<1.
Попробуйте в Вашем файле сделать дополнительные столбцы и посчитать в них параметры. Либо все это можете делать макросом )
Конкретно в вашем случае, по тем данным что Вы предоставили - везде дискриминант будет 0, а значит у вас будет 2 корня ТОЧНО совпадут, а другой отличный от них, либо может быть равен им. Вот тут написано решение, через замену http://ateist.spb.ru/mw/kardano.htm
_andrew_ написал: думаю Вам стоит капать в сторону "Решение кубических уравнений"
Зачем же для данного уравнения так глубоко? Сразу же видно два корня 0 и 1. Если вспомнить матан, до в пр x=1/3 имеем положительный экстремум y=16/27, а в x=1 имеем отрицательный экстремум y=0. Соответственно, на исследуемом диапазоне x є ]0;1[ 1. Если y>0 и y< 16/27, то имеется два x, удовлетворяющих условию. Ищем по частям относительно положительного экстремума бинарным поиском Вещественный двоичный поиск 2. если y=16/27, то одно решение 1/3 3. если y<0 или y>16/27, то нет таких x, удовлетворяющих условию. Успехов.
Андрей VG написал: Зачем же для данного уравнения так глубоко?
Ну это справедливо для нулевого свободного члена. А у него он меняется. А значит и корни пляшут. Вот скрины для нулевого значения свободного члена увы... удалены: превышение допустимого размера вложения [МОДЕРАТОР] , и для следующего в столбце. Там уже 2 корня попадают в его диапазон. И по какому принципу их отделять - не знаю
Андрей VG написал: В файле Y=4x(1-x)^2, то есть функция всегда одна, а вот для различных y нужно найти неизвестные x.
Вот в файле как раз этот столбец и вычисляется видимо где-то по этой функции. И там столбец этих значений. И по ним нужно решить обратную задачу, найти Х которые удовлетворяют.
Всё понял. Вы рассматриваете уравнение 4x(1-x)^2-Yi = 0 (где Yi - текущее известное значение y) и каждый раз решать кубическое уравнение, отбирая из решений x, удовлетворяющие условию x>0 и x<1. Тоже вариант. Надеюсь у ТС всё получится.
Андрей VG написал: В файле Y=4x(1-x)^2, то есть функция всегда одна, а вот для различных y нужно найти неизвестные x.
Да, все верно.Функция одна, меняются только значения Y, и нужно провести обратный расчет функци
Цитата
_andrew_ написал: Вот в файле как раз этот столбец и вычисляется видимо где-то по этой функции.
Данные значения получаются расчетом из других формул. Если подробно, расписать задачу, то там на самом деле несколько этапов, конечной целью которой является найти V2 1) X определяется как V1/V2, при этом V2 всегда известна, диапазон колебания 0<X<1; 2) Y=4x(1-x)^2, диапазон колебаний 0<y<0.59; 3) Z=P*y, P известное значение Так вот, мне необходимо сделать обратный расчет от Z. Вычислить y не составило труда, а вот через y вычислить x, тут я застрял.
На другом форуме мне вывели формулу через MathCad, но там проблема, то, что при значениях y ниже 0,59 под корнем получается отрицательное значение, в результате чего вылетает ошибка.
Решение вроде верное, но вот как определить другие возможные решения, тут у меня зактык.
DeniSlav написал: На другом форуме мне вывели формулу через MathCad, но там проблема, то, что при значениях y ниже 0,59 под корнем получается отрицательное значение, в результате чего вылетает ошибка.
1. ну так сделайте проверку на положительность полученных корней. 2. а как выбрать корень, если их 2, попадающих в этот диапазон? см. сообщение 9 с графиком для Y=0.59 3. Может есть какие-то дополнительные условия ?
_andrew_ написал: поиск корней по вашим данным для положительного дискриминанта по теореме виета
Огромное спасибо за помощь! Это именно то, что нужно!!
Я сам уже дошел, что Y можно банально перенести в другую сторону, и решать как кубическое уравнение, через параметры, но Вы дали уже законченный вариант решения!
Еще раз Спасибо Вам за помощь. И спасибо также Всем тем, кто откликнулся.