Numerical method for equation with an exponent between 0 and 1

113 Views Asked by At

$a=b(1-H)+cH^{.55}$

I want to solve for $H$. I used Newton Raphson to approximate it, but it only worked for certain combinations of $(a,b,c)$. Of course, this is caused because in the derivative I have a negative exponent, so when an iteration is negative, the algorithm breaks. My question is if I could get any conditions for $a,b,c$ where the algorithm works. Or if there’s any other method I could use? $a,b,c$ are constants between $0$ and $1$

3

There are 3 best solutions below

0
On BEST ANSWER

Your equation can be recast as

$$H^\alpha=pH+q,$$ where $p,q$ depend on $a,b,c$, which describes the intersection of a quasi-parabola and a straight line.

If the slope of the line is negative, there is a single intersection iff $q\ge0$.

If the slope of the line is positive, we have several cases. Consider the curve

$$H^\alpha-pH.$$ It has a maximum when $H_m^{\alpha-1}=\dfrac p\alpha$, and the intercept of the corresponding tangent to the parabola is

$$q_m=H_m^\alpha-pH_m$$

Then

  • if $q<0$, a single root;

  • if $0\le q<q_m$, two roots, on either sides of $H_m$;

  • if $q=q_m$ a double root;

  • if $q>q_m$: no root.

The picture illustrates these five cases.

enter image description here

1
On

Working with whole numbers, let $$H=x^{20/11}\implies a=b(1-x^{20/11})+c x$$ This should present much less problems.

So, you look for the zero of function $$f(x)=-(a-b)-b x^{20/11}+c x$$ $$f'(x)=c-\frac{20}{11} b x^{9/11}$$

0
On

The function

$$f(H)= b(1-H)+cH^{0.55}-a $$

is a well behaved concave function. However, depending on the actual values of $a$, $b$ and $c$, it either has no root, one root, or two roots. It is easy to determine that $f(H)$ has a maximum value at

$$H_m=\left(\frac{0.55c}{b}\right)^{\frac{1}{0.45}}$$

If $f(H)$ has any roots, then $f(H_m) > 0$. So, the condition on $a$, $b$ and $c$ is

$$ b(1-H_m)+cH_m^{0.55}-a \ge 0$$

in order for $f(H)$ to have roots.

In case of existing roots, there is always one root greater than $H_m$. So, if you set your initial guess greater than $H_m$, the Newton Raphson method should work well. (Note that $f(H)$ may have a double root at $H_m$.)

The second root, if existing, is greater than zero and smaller than $H_m$. You could always evaluate $f(0)$ first to determined whether or not it exists. (It exists if $f(0) < 0$.) If so, pick an initial value between 0 and $H_m$. Again, the Newton Raphson method should work.

Edit:

Observe that $H^{0.55} \approx \sqrt{H}$. Thus, a good initial guess $H_0$ could be obtained by solving the quadratic equation

$$ b(1-H)+c\sqrt{H} - a =0$$

which gives,

$$H_0 = 1-\frac ab +\frac{c^2}{2b^2}\left( 1\pm \sqrt{1+\frac{4(b-a)b}{c^2}}\right)$$