Ответы:
Чем-то напоминает алгоритм RSA, только там просто f() = A*B. Только тут несколько усложненно, т.к. alpha = A, T^beta = B.
Боюсь, тяжко будет сделать так, т.е. придется делать всё равно методом перебора.
после перебора включить алгоритм нахождения корня на отрезке и сделать любую требуемую точность
Какая здесь погрешность? Если вы найдете alpha и beta, удовлетворяющие условию, значит вы найдете ТОЧНЫЕ значения.
Примерные значения (вернее пары значений) можно найти графически. y=ax^b. Вам известно x и y, т.е. координаты точки. Осталось найти a и b, вернее возможный диапазон этих значений исследуя эту ПОКАЗАТЕЛЬНУЮ функцию (школьный курс, 10-11 класс).
Я мог бы составить вам алгоритм нахождения a и b (за отдельную плату). Если интересно, контактные данные в моём профиле.
Если кто-то понял вопрос, объясните подробнее, пожалуйста.
Абсолютно согласен с Артемка, вопрос требует уточнения.
T^beta это возведение в степень или XOR ?
Известно одно значение T и одно значение f(T) или массивы значений T и соответствующих значений f(T).
Судя по тому, что стоит задача более точного нахождения речь идет не о задачах криптографии и восстановлению ключей, а о задаче наилучшей аппроксимации набора данных некоторой функцией. Для этого лучше воспользоваться методом наименьших квадратов.
Если ^ это возведение в степень и не требуется максимальная достоверность, то можно свести функцию к линейной (это вносит искажения в значения коэффициентов, но как правило небольшие, если точки расположены близко к кривой) с помощью формул
y=ln(f(T)), x=ln(T)
Тогда y=beta*x+ln(alpha)
Формулы МНК для линейной функции y=ax+b поразительно просты
a=(<yx>-<y><x>)/(<x^2>-<x>^2), b=<y>-a<x>
<y> в моем ответе это среднее по набору данных значение y
Иван Козначеев абсолютно прав - метод наименьших квадратов даст быстрый точный ответ. В этом случае суммарная погрешность будет наименьшей.
16 лет назад