Replacing symbolic subexpression with unspecified arguments

2 views (last 30 days)
I would like to do a symbolic computation where I have to replace a subexpression with another.
However I can not use the subs instruction, since the parameters are changing:
syms a1 a2 a3 a4 x1 x2 x3 x4 y
y = sin(a1 * sin(x1))
%%Could be any ai and xi
Is there a way to replace the outer sin() with another symbolic function regardless of the parameters?
I'd assume that matlab uses an internal expression tree, but I don't think it's accessible.

Accepted Answer

Walter Roberson
Walter Roberson on 18 Mar 2022
syms a1 a2 a3 a4 x1 x2 x3 x4 y
y = sin(a1 * sin(x1))
y = 
cos(children(y, 1))
ans = 

More Answers (2)

Paul on 18 Mar 2022
Not 100% clear on the question. Maybe this?
syms a1 a2 a3 a4 x1 x2 x3 x4
syms a x
y(a,x) = sin(a * sin(x))
y(a, x) = 
ans = 

Roman Frels
Roman Frels on 19 Mar 2022
Thank you for the answers!
Best regards


Community Treasure Hunt

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

Start Hunting!