Implementing an expression in Matlab's Symbolic Math Toolbox

1 view (last 30 days)
Good day,
At the moment I have got equations which look like:
A = ....- q1^2*q1c*q3c + q1*q3*q1c^2 - q1*q3*q2c^2 - q1*q3*q3c^2 + q1*q3*q4c^2 - 2*q1*q4*q1c*q2c - 2*q1*q4*q3c*q4c - q2^2*q1c*q3c + q2^2*q2c*q4c + 2*q2*q3*q1c*q2c + 2*q2*q3*q3c*q4c + q2*q4*q1c^2 - q2*q4*q2c^2 - q2*q4*q3c^2 + q2*q4*q4c^2 + q3^2*q1c*q3c - q3^2*q2c*q4c + q4^2*q1c*q3c - q4^2*q2c*q4c))/((q1*q1c + q2*q2c + q3*q3c + q4*q4c)*(q1^2 + q2^2 + q3^2 + q4^2)*(q1c^2 + q2c^2 + q3c^2 + q4c^2))
Now I know that:
q1c^2+q2c^2+q3c^2+q4c^2 = 1
q1^2+q2^2+q3^2+q4^2 = 1
I like to introduce this information such that I can work with more simplified expressions, because the ones I work with at the moment are very large.
Any ideas how I can achieve this?
  2 Comments
Walter Roberson
Walter Roberson on 20 May 2013
If q1c^2+q2c^2+q3c^3+q4c^4 = 1 then what would you like (q1^2 + q2^2 + q3^2 + q4^2) to be transformed to?
Will the expression q1c^2+q2c^2+q3c^3+q4c^4 appear specifically as a sub-expression, or do you need to (for example) have MuPAD detect that
5*q3c^4 + 5*q3*q2c^2 + 5*q4c^4*q3c + 5*q3c*q1^2
is
5*q3c*(q1c^2+q2c^2+q3c^3+q4c^4)
and so substitute
5*q3c*1
which is
5*q3c
?
Pieter
Pieter on 20 May 2013
I am sorry, I made an error in my question, what I know is that:
q1c^2+q2c^2+q3c^2+q4c^2 = 1
q1^2+q2^2+q3^2+q4^2 = 1
So I simply want that (q1^2 + q2^2 + q3^2 + q4^2) becomes 1 (that is much simpler, right).
Furthermore, I would like that (1-q1c^2-q2c^2-q3c^2) is replaced by q4c^2 and so on.
So to summarise, I would like to use the information I have (q1c^2+q2c^2+q3c^2+q4c^2 = 1 and q1^2+q2^2+q3^2+q4^2 = 1) to simplify the very long expressions as much as possible.
P.S. I have updated my question now.

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 20 May 2013
simplify(subs(A, {q4c^2, q4^2}, {1 - (q1c^2+q2c^2+q3c^2), 1 - (q1^2+q2^2+q3^2)}))

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!