Find degree of non-polynomial expression in Matlab
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi,
say i have an expression as such:
syms x
y = x^(-5/2)
how to find the exponent of x since y is not a polynomial. is it possible?
thanks
0 comentarios
Respuestas (2)
Star Strider
el 15 de Jul. de 2014
Unfortunately not.
In theory,
xpnt = log(y)/log(x)
should work because it’s a fundamental log identity for conversion between log bases. The Symbolic Math Toolbox simply returns the symbolic expression, not the exponent.
Maybe in a future release...
0 comentarios
Christopher Creutzig
el 29 de Ag. de 2014
That depends on what exactly you are looking for in the general case. Here's something that works in this particular one:
>> simplify(log(y)/log(x),'IgnoreAnalyticConstraints',true)
ans =
-5/2
(The result is valid in general, but simplification succeeds along a way that ignores branch cuts and is not universally valid.)
If your expression gets more complicated, you may need to use MuPAD functions directly:
>> feval(symengine,'ldegree',feval(symengine,'series',y,x))
ans =
-5/2
(If you want to look at the output of the feval(symengine,'series',y,x) part, I heartily recommend the pretty function.
0 comentarios
Ver también
Categorías
Más información sobre Assumptions 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!