How to raise an equational identitity with fractional powers to an identity with integral powers
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
The question is a generalized algebraic equation with unknown variables of any number with fractional exponents to be converted to same algebraic identity with integral powers. For example an identity x^(1/2)*y(3/4)==z^(1/2) has to be converted to integral powers so it has to be rewritten as x^2*y^3==z^2. Now an identity x^(1/8) + y^(1/7)==z^(3/2)+y^(2/3) how such equations can be rewritten with integral powers
0 comentarios
Respuestas (1)
John D'Errico
el 4 de Nov. de 2018
Editada: John D'Errico
el 4 de Nov. de 2018
I suppose it is far easier to do this with pencil and paper. That is, consider the case:
x^(1/2)*y^(3/4)==z^(1/2)
Now, we can transform the problem using
xhat = x^(1/2)
yhat = y^(3/4)
zhat = z^(1/2)
Substitute, and do whatever.
xhat * yhat = zhat
At the end, you can recover x, y, and z from the transformation equations.
Even simpler, since the first case can be trivially logged, just take the log of both sides. Thus
x^(1/2)*y^(3/4)==z^(1/2)
reduces to
1/2*log(x) + 3/4*log(y) = 1/2*log(z)
It is not possible in all cases of course, that you will not gain on all such problems.
Similarly, in this expression, We see that
x^(1/8) + y^(1/7)==z^(3/2)+y^(2/3)
xhat = x^(1/8)
zhat = z^(3/2)
But y has exponents that are not as simply transformed. Instead, use this transformation:
yhat = y^(1/21)
Substitute to get:
xhat + yhat^3 == zhat + yhat^14
Be verrrry careful in all of this though, as transformations of this form can sometimes introduce problems, since there are 3 cube roots of a number, and 14 distinct 14'th roots of a number in the complex plane.
Can you do it all by some simple line of code in MATLAB? Maybe. I doubt it would be that simple though, and hardly worth it. Things could get especially nasty in the case of something like
x^0.3423433425353 + x^1.23244523544536 == 1
with completely arbitrary real exponents. Here you would have no recourse in terms of symbolic mathematics, but remember that finding solutions in the complex plane for such a problem might be nasty. I'd probably just use a numerical root finder to solve that directly as it is written.
fun = @(x) x.^0.3423433425353 + x.^1.23244523544536 - 1
fun =
function_handle with value:
@(x)x.^0.3423433425353+x.^1.23244523544536-1
[xroot,fval] = fzero(fun,.5)
xroot =
0.366851876337662
fval =
0
Just be careful when looking for other potential solutions in the complex plane, as MATLAB will always return the principal root.
The point is that there are many things you can do. However, wanting a simple solution that will work for all problems is never going to work well. Knowing your mathematics will be important.
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!