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
댓글 수: 3
Walter Roberson
2021년 6월 13일
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
2021년 6월 29일
(Answers Dev) Restored edit
답변 (2개)
Sulaymon Eshkabilov
2021년 6월 12일
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.
카테고리
도움말 센터 및 File Exchange에서 MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!