Find degree of non-polynomial expression in Matlab
조회 수: 8 (최근 30일)
이전 댓글 표시
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
답변 (2개)
Star Strider
2014년 7월 15일
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
Christopher Creutzig
2014년 8월 29일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 Assumptions에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!