Problem with vpasolve after specifying range of solutions as [-Inf Inf]
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi, I seem to have encountered a weird problem with vpasolve when I specify a range of solutions.
I have 'a' defined as a symbolic variable.
After running the script below, 'test1' returned some real, non-trivial solutions from a1 to a4.
test1=vpasolve([a(1)*0.67 + a(4)*0.5 + a(2)*0.1 == 5 ; a(3)*0.3 + a(1)*2== 10])
However, after specifying, a range of solutions for vpasolve(), it returned empty 0x1 sym results in 'test2'
test2=vpasolve([a(1)*0.67 + a(4)*0.5 + a(2)*0.1 == 5 ; a(3)*0.3 + a(1)*2== 10], [a(1:4)],[-inf,inf;-inf,inf;-inf,inf;-inf,inf])
For another test case, I gave vpasolve a different equation with a similar format of having 4 unknowns shown below, but somehow 'test3' was able to return some non-trivial solutions.
test3=vpasolve([a(1)*sin(10*a(4)) + a(2)^3 == 5 ; a(3)^2 + exp(-2*a(1)/3)== 10], [a(1:4)],[-inf,inf;-inf,inf;-inf,inf;-inf,inf])
Would you please help me understand why is this the case? How can I make 'test2' return the same results as 'test1'?
Thank you very much for your time.
댓글 수: 7
Walter Roberson
2018년 6월 21일
solve() and vpasolve() are the only symbolic solvers that there is direct access to.
If you are willing to go into MuPAD then there are https://www.mathworks.com/help/symbolic/mupad_ref/linsolve.html and https://www.mathworks.com/help/symbolic/numeric-solvers.html . Note that you need to either "mupad" to use these, or invoke dark rituals involving evalin(symengine).
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Special Values에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!