Collect function doesn't work as intended
Ältere Kommentare anzeigen
syms z w K
% Previous steps executed, expresion directly copied from workspace
GzSFDen = 1.0*z^2 + (0.36788*K - 1.3679)*z + 0.26424*K + 0.36788;
GzSFDen = vpa(GzSFDen)
% Substitution of z with (w+1)/(w-1)
Gw = subs(GzSFDen,z,(w+1)/(w-1))
% Obtained answer, coefficient of w^2 should only be 31606 K
incorrect = collect(Gw,w)
% Expected answer, numerically close, num and den divided by 5
% Manually obtained
correct = (6141*K*w^2 + (12642 - 4924*K)*w - 1217*K + 27358)/(10000*w^2 - 20000*w + 10000);
correct = collect(correct,w)
5 Kommentare
Cesar Adolfo Cruz Vargaya
am 1 Nov. 2022
Almost. But
rest = 50000*(1 - 1.3679 + 0.36788);
equals
rest
Cesar Adolfo Cruz Vargaya
am 1 Nov. 2022
Torsten
am 1 Nov. 2022
Sure.
Replace
GzSFDen = 1.0*z^2 + (0.36788*K - 1.3679)*z + 0.26424*K + 0.36788;
by
GzSFDen = 1.0*z^2 + (0.36788*K - 1.36788)*z + 0.26424*K + 0.36788;
Antworten (0)
Kategorien
Mehr zu Symbolic Math Toolbox finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!