Problem with vpasolve after specifying range of solutions as [-Inf Inf]
2 次查看(过去 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 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!