How to simplify symbolic calculation
Show older comments
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
Answers (1)
madhan ravi
on 29 Oct 2018
0 votes
4 Comments
Walter Roberson
on 29 Oct 2018
I recall that there is another similar discussion that I was one of the participants of. I am away from my computer so I cannot locate it at the moment.
madhan ravi
on 29 Oct 2018
ok sir Walter will search through
madhan ravi
on 29 Oct 2018
Walter Roberson
on 29 Oct 2018
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.
Categories
Find more on Common Operations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!