Manipulation of complex expressions

Hello,
I have a problem with the manipulation of a complex expression. My code looks loke this:
syms('R', 'positive')
syms('C', 'positive')
syms('omega', 'positive')
Z_s = R + 1 / j / omega / C
Z_s = 
syms('U_2')
syms('U_C')
U_2 = 1 / j / omega / C / Z_s * U_C
U_2 = 
U_2 = simplifyFraction(U_2)
U_2 = 
Z_p = 1 / (j * omega * C + 1 / Z_s)
Z_p = 
syms('U_1')
U_C = Z_p / (R + Z_p) * U_1
U_C = 
U_C = simplifyFraction(U_C)
U_C = 
Until here everything is fine. Now I substitute U_C in U_2 with the above result.
U_2 = subs(U_C, U_C)
U_2 = 
U_2 = simplifyFraction(U_2)
U_2 = 
That is avery complicated expression. How can I simplify this fraction? There are common divisors in this fraction and it is possible to reduce it into
.
How can I achieve this with the Symbolic Toolbox?
Kind regards
Michael

 Réponse acceptée

Paul
Paul le 27 Oct 2021
The final substitution into U_2 needs to be changed as shown below.
syms('R', 'positive')
syms('C', 'positive')
syms('omega', 'positive')
Z_s = R + 1 / 1j / omega / C; % chnage j to 1j throughout
syms('U_2')
syms('U_C')
U_2 = 1 / 1j / omega / C / Z_s * U_C;
U_2 = simplifyFraction(U_2);
Z_p = 1 / (1j * omega * C + 1 / Z_s);
syms('U_1')
U_C = Z_p / (R + Z_p) * U_1;
U_C = simplifyFraction(U_C);
U_2 = subs(U_2); % this line changed, update U_2 with current value of U_C
U_2 = simplifyFraction(U_2)
U_2 = 

Plus de réponses (0)

Catégories

En savoir plus sur Function Creation dans Centre d'aide et File Exchange

Produits

Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by