how to show this
Afficher commentaires plus anciens
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 commentaires
Walter Roberson
le 13 Juin 2021
Question was about how to discard a small coefficient in a transfer function.
Original question by Firas Romaneh retrieved from Bing Cache:
how to show this
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
Rena Berman
le 29 Juin 2021
(Answers Dev) Restored edit
Réponses (2)
Sulaymon Eshkabilov
le 12 Juin 2021
It is quite simple and straightforward:
G = tf(1, [1 4 3 0 1 3 0])
G = tf([1], [1, 4, 3, 3.553e-15, 1, 1, 0])
N = cellfun(@discardsmall, G.Numer, 'uniform', 0);
D = cellfun(@discardsmall, G.Denom, 'uniform', 0);
G = tf(N, D, 'IODelay', G.IODelay)
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.
Catégories
En savoir plus sur MATLAB dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!