How to simulate the forced response of a transfer function
이전 댓글 표시
I have a transfer function G(s) = (1-s)/(s^2 + 2s+ 1) that I want to simulate while being under a forced input of u(t) = 2*cos(3t), but I am not sure how. I hope someone can help.
채택된 답변
추가 답변 (1개)
The 'lsim()' command is great when the Control System Toolbox is available. Here is an alternative approach to generate the time response G(s) subject to the forced input u(t) without using the Control System Toolbox. However, it requires the Symbolic Math Toolbox. Both toolboxes are bundled in the MATLAB and Simulink Student Suite.
You can also find examples at the following links:
syms F(s) u(t);
% Forced input function
u(t) = 2*cos(3*t)
U(s) = laplace(u)
% Plant transfer function
G(s) = (1 - s)/(s^2 + 2*s + 1)
% Convolution of two functions
F(s) = U*G
% Applying the inverse Laplace transform
f(t) = ilaplace(F, s, t)
% Plots
fplot(u, [0 10], ':k'), hold on, grid on
fplot(f, [0 10], 'LineWidth', 1.5), hold off
% Labels
xlabel('Time (seconds)')
ylabel('Amplitude')
legend('u(t)', 'f(t)')
title({'Time response of $G(s)$ due to input $u(t) = 2 \cos(3 t)$'}, 'Interpreter', 'LaTeX', 'FontSize', 12)
카테고리
도움말 센터 및 File Exchange에서 Control System Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

