how to show this
Mostrar comentarios más antiguos
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 comentarios
Walter Roberson
el 13 de Jun. de 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
el 29 de Jun. de 2021
(Answers Dev) Restored edit
Respuestas (2)
Sulaymon Eshkabilov
el 12 de Jun. de 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.
Categorías
Más información sobre MATLAB en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!