MATLAB Answers

how to show this

4 views (last 30 days)
Ahmad Ali
Ahmad Ali on 12 Jun 2021
Commented: Rena Berman on 29 Jun 2021 at 14:28
if the
1
G(s) = --------------------------------------------------------------
s^6 + 4 s^5 + 3 s^4 + 3.553e-15 s^3 + s^2 + 3 s
how to make in matlab
1
G(s) = ---------------------------------------------------------------
s^6 + 4 s^5 + 3 s^4 + s^2 + 3 s
  3 Comments
Rena Berman
Rena Berman on 29 Jun 2021 at 14:28
(Answers Dev) Restored edit

Sign in to comment.

Answers (2)

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 12 Jun 2021
It is quite simple and straightforward:
G = tf(1, [1 4 3 0 1 3 0])

Walter Roberson
Walter Roberson on 13 Jun 2021
G = tf([1], [1, 4, 3, 3.553e-15, 1, 1, 0])
G = 1 --------------------------------------------- s^6 + 4 s^5 + 3 s^4 + 3.553e-15 s^3 + s^2 + s Continuous-time transfer function.
N = cellfun(@discardsmall, G.Numer, 'uniform', 0);
D = cellfun(@discardsmall, G.Denom, 'uniform', 0);
G = tf(N, D, 'IODelay', G.IODelay)
G = 1 ----------------------------- s^6 + 4 s^5 + 3 s^4 + s^2 + s Continuous-time transfer function.
function V = discardsmall(V)
V(abs(V)<1e-10) = 0;
end
Using a function as a helper is the easiest way because for the general case we cannot assume that the input transfer function does not have an array of transfers. G.Numer and G.Denom are cell arrays of vectors, not plain vectors.

Community Treasure Hunt

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

Start Hunting!

Translated by