MATLAB: Collect different symbolic variables under the same exponent

MATLABSymbolic Math Toolbox

I have 2 symbolic variables 'a' and 'b', and an exponent 'm'. At the end of some calculations the symbolic expression that Matlab provides is in the form:
I want to ask if there is a function that allow me to rewrite it in the form:
.
I know that I can do it by hand, but I have at least 200 terms to rewrite in this way.
Thanks very much for the help.

Best Answer

Hi Edoardo,
Refer the expand function, and Children function documentation. Refer link for various other Functions to Rearrange Symbolic Expressions.
The Following code shows an example for your use case,
syms a b m y
y = (a^m/b^(m+2));
y = expand(y);
[N,D] = numden(y);
D_Split = children(D);
T1 = N/D_Split(1); % (a/b)^m
T2 = 1/D_Split(2); % (1/b^2)
Kiran Felix Robert