Manipulation of complex expressions

1 次查看(过去 30 天)
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

采纳的回答

Paul
Paul 2021-10-27
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 = 

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by