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!