Мне интересно, если это можно отменить вычисления, содержащие множественный pow()
функции, с разными (но известными) показателями. Учитывая предварительный расчет, мне нужен обратный расчет.
<?php
# Forward calculation
$in = 9;
$out = pow($in, 2) + pow($in, 3); // = 810
# My attempt at an reverse calculation
$result = pow($out, 1/2) + pow($out, 1/3); // = 37.7821...
Я хочу наоборот $result
быть 9, но видя 37.7821 … что, кажется, потому что $out
должен быть разделен между каждым pow()
функция, но если показатели не совпадают, я не уверен, как это распределить. Как индивидуально, каждый pow () обратный работает, но не когда вместе.
Моя цель в конце состоит в том, чтобы обратить вспять полиномиальную кривую 4-го порядка. Я в основном учусь математике, поэтому предпочитаю примеры кода уравнениям.
Позвольте мне назвать ваш первый экспонент a
и второй показатель b
,
$out
содержит $in
в следующем соотношении —
1:[$in^(b-a)]
Соотношение было сформировано путем уменьшения общего фактора в обоих $out
,
Так что вы можете изменить свой $result
включить только компонент $out
соотношения сверху —
$result = pow($out*[1/(1+$in^(b-a))], 1/2) + pow($out*[$in^(b-a)/(1+$in^(b-a))], 1/3);
//the above $result will be 9 in the specific case
Значение $result
будет равно $in
Как meowgoesthedog а также Нико Шертлер указал, что это нелегко решить (по крайней мере, далеко за пределами моей компетенции).
Я решил это с помощью подбора кривой на данных из прямого расчета (mycurvefit.com). Он не дает идентичных результатов, но достаточно близок для моего использования (распределение точек для системы выравнивания).