How to simplify symbolic calculation
10 次查看(过去 30 天)
显示 更早的评论
Hi there everybody,
I have been trying to do symbolic calculation on Matlab, but the solution gives very unnecessary number which is described in below: "6.123e-17*qdot1 + 1.0*qdot2 + 1.0*qdot3 + qdot5 - 6.123e-17*cos(q5)*(3.749e-33*qdot1..."
This is an answer matrix column. I'd like Matlab to calculate 6.123e-17*qdot as 0 and like to avoid 1.0*qdot3. Could you help me about this problem?
Thanks in advance.
Have a nice day.
Best regards, Cem ÇAKMAK
0 个评论
回答(1 个)
madhan ravi
2018-10-29
4 个评论
madhan ravi
2018-10-29
Walter Roberson
2018-10-29
Those were not the ones I was thinking of; the one I was thinking of was quite similar to the current question.
Unfortunately I cannot locate it at this time.
The general idea is that it is possible to use evalin(symengine) or feval(symengine) to run some MuPAD code which will examine the structure of the expressions, locate constants with sufficiently small absolute value, and substitute zeros for them. This would probably involve using the MuPAD match() and subsex() and a loop.
John's answer that you linked to is still important: for sufficiently large numeric replacement values for symbolic variables, neglecting "small" contributions becomes risky.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!