Clear Filters
Clear Filters

I get these results. How can I make the small decimal zeros?

1 view (last 30 days)
0.004 s^4 + 7.426e-18 s^3 + 3.2 s^2 + 5.7077e-15 s
--------------------------------------------------
s^4 + 110 s^3 + 1020 s^2 + 8000 s + 16000

Answers (1)

Walter Roberson
Walter Roberson on 2 Nov 2023
tol = 1e-7;
s = tf('s');
G = (0.004 * s^4 + 7.426e-18 * s^3 + 3.2 * s^2 + 5.7077e-15 * s) / ( s^4 + 110 * s^3 + 1020 * s^2 + 8000 * s + 16000)
G = 0.004 s^4 + 7.426e-18 s^3 + 3.2 s^2 + 5.708e-15 s ------------------------------------------------- s^4 + 110 s^3 + 1020 s^2 + 8000 s + 16000 Continuous-time transfer function.
Num = G.Numer; Den = G.Denom;
Adjust = @(V) V .* (abs(V) > tol);
Num = cellfun(Adjust, Num, 'uniform', 0);
Den = cellfun(Adjust, Den, 'uniform', 0);
G = tf(Num, Den)
G = 0.004 s^4 + 3.2 s^2 ----------------------------------------- s^4 + 110 s^3 + 1020 s^2 + 8000 s + 16000 Continuous-time transfer function.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!