how to show this
Show older comments
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
Walter Roberson
on 13 Jun 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
on 29 Jun 2021
(Answers Dev) Restored edit
Answers (2)
Sulaymon Eshkabilov
on 12 Jun 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.
Categories
Find more on MATLAB 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!