solve is returning symbolic value.

조회 수: 2 (최근 30일)
Paolo
Paolo 2013년 11월 30일
답변: Walter Roberson 2013년 11월 30일
i am using the solve function but i am getting weird symbolic result instead of getting the interval i want. how can i solve this? thank you.
>> syms p
>> solve(3.1416*p/(1-p^2)^0.5<2.3)
ans =
solve([(3.1416*p)/(1.0 - 1.0*p^2)^(1/2) < 2.3], [p])
>> solve('3.1416*p/(1-p^2)^0.5<2.3')
ans =
solve([(3.1416*p)/(1.0 - 1.0*p^2)^0.5 < 2.3], [p])

답변 (1개)

Walter Roberson
Walter Roberson 2013년 11월 30일
That can happen if solve() decides that it is a kind of problem that it does not know how to answer.
Generally speaking, you should solve for equalities rather than inequalities.
One trick is to convert something of the form
syms A B
solve(A < B)
into the form
syms A B
syms delta positive
A = B - delta

카테고리

Help CenterFile Exchange에서 Conversion Between Symbolic and Numeric에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by