Borrar filtros
Borrar filtros

Manipulation of complex expressions

1 visualización (últimos 30 días)
Michael
Michael el 27 de Oct. de 2021
Comentada: Michael el 27 de Oct. de 2021
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

Respuesta aceptada

Paul
Paul el 27 de Oct. de 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 = 

Más respuestas (0)

Categorías

Más información sobre Symbolic Math Toolbox en Help Center y File Exchange.

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by