How to rename lumped constant terms within parenthesis

2 views (last 30 days)
Hi Guys
I have some huge symbolic equations (multiple pages) in the variables (x,y,z), of the form:
Eq1(x,y,z) = x*y*(.....) + y*z*x*(....) ....(many pages)
where the brackets contain constant symbolic terms (e.g. they are just constant coefficients), e.g.:
(Q23*l5*l6*m4 + Q22*l5*m4*m6)
Is there anyway to automatically go through each equation and delete / abbreviate the bracketed coefficients to a single letter? Currently I am doing it manually but it takes so long..! Maybe using a find and replace function?
Thanks
Toby

Accepted Answer

Walter Roberson
Walter Roberson on 4 Feb 2016
The easiest way to do this is to go in to the symbolic engine level and use subsex
syms QQ
result = feval(symengine, 'subsex', Eq1(x,y,z), (Q23*l5*l6*m4 + Q22*l5*m4*m6), QQ);
Note that this will be an expression rather than a function. I am not sure if you would be able to execute this on the function returning a function, but you could try -- list Eq1 instead of E1(x,y,z) as the argument.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!