How to solve a polynomial with fractional exponents that vary with time

134 Views Asked by At

I am trying to solve an equation for $R$ where all the parameters in the equation $(f, \gamma, c)$ vary with time. The equation is described as
$R^{(f+2\gamma+f)/\gamma}-R^{(f+2\gamma+f\gamma)/\gamma}=c$

The above equation needs to be solved at every time step. I have tried using a substitution of $z=R^{1/\gamma}$, but since the signals are time varying and of type double/float, the exponents might still be fraction at some time step.

  1. I am trying to implement this equation in Simulink with $R$ as Output while others being the inputs. Is there a way to solve the equation described above (of type $x^a-x^b=c, $where $a,b$ are fractions) for each time step?
  2. Since this is a very small part of the entire Simulink model, I am looking for something that can solve it without any explicit iterations or uses very little iterations.
  3. I would greatly appreciate if any insights can be made about uniqueness of the solution.
1

There are 1 best solutions below

0
On

Consider that you look for the zero's of function $$f(x)=x^a-x^b-c$$ Since the exponents are not integers, we must consider $x>0$.

To make it simpler, let $x^b=y$, $k=\frac a b$ and consider the function $$g(y)=y^k-y-c$$ the solution of which being larger that $c^{\frac 1k}$. This will be the $y_0$ of Newton method.

Just for an example, using $a=\pi$, $b=e$, $c=12345$. The iterates will be $$\left( \begin{array}{cc} n & y_n \\ 0 & 3468.8629 \\ 1 & 4583.1758 \\ 2 & 4551.1385 \\ 3 & 4551.1157 \end{array} \right)$$ and then $x=22.1690$.

Edit

We could probably do much better, generating the starting point using one single iteration of Halley' method. This would give as a new starting point for Newton method $$y_0=c^{\frac 1k}+\frac{2 c^{\frac 2k} \left(c k-c^{\frac{1}{k}}\right)}{k(k-5) c^{\frac{1}{k}+1}+2 c^{\frac 2k}+2 c^2 k^2}$$ Applied to the working case, this would give $y_0=4547.53$.