Responses of a transfer function on MATLAB

Click For Summary

Discussion Overview

The discussion revolves around analyzing the responses of a transfer function using MATLAB, specifically focusing on the steady state error for step and ramp inputs. Participants explore the stability of the system and the implications of having poles at the origin.

Discussion Character

  • Technical explanation, Debate/contested, Mathematical reasoning

Main Points Raised

  • One participant presents a transfer function and MATLAB code to analyze its step and ramp responses, noting instability in the outputs despite roots appearing on the left of the imaginary axis.
  • Another participant points out that the presence of a pole at the origin indicates instability, suggesting that the system could be stabilized with unit feedback depending on the gain.
  • A participant questions whether the system is only stable in a closed-loop configuration, seeking clarification on the ramp response stability.
  • It is noted that the response of a stable system to a ramp input tends to infinity, while a pole at the origin results in a parabolic response to a ramp input.

Areas of Agreement / Disagreement

Participants generally agree on the instability introduced by the pole at the origin and the need for closed-loop configuration for stability, but the discussion on how to achieve stability for the ramp response remains unresolved.

Contextual Notes

The discussion does not resolve the specific conditions under which the system can be stabilized for ramp inputs, nor does it clarify the implications of the observed responses in detail.

geft
Messages
144
Reaction score
0
I'm given the following system:

\frac { 3s+0.5 }{ { s }^{ 3 }+3{ s }^{ 2 }+8s }

I'm supposed to find the steady state error of the system by plotting the step and ramp responses, and then find the value when s tends to infinity.

Here is the MATLAB code:

Code:
sys1 = 3 + tf(0.5.*[1], [1 0]);
sys2 = tf([1], [1 3 8]);
sys = sys1*sys2

subplot(1, 2, 1)
step(sys)

sys3 = tf([1], [1 0]);
subplot(1, 2, 2)
step(sys*sys3)
title('Ramp Response')

figure
rlocus(sys*sys3)

Here's the result: http://i.imgur.com/vXoXV.png

As can be seen, the step and ramp responses are unstable. All the roots are on the left of the imaginary axis, so the system must be stable. I'm not sure where I went wrong.
 
Physics news on Phys.org
geft said:
I'm given the following system:

\frac { 3s+0.5 }{ { s }^{ 3 }+3{ s }^{ 2 }+8s }

I'm supposed to find the steady state error of the system by plotting the step and ramp responses, and then find the value when s tends to infinity.

Here is the MATLAB code:

Code:
sys1 = 3 + tf(0.5.*[1], [1 0]);
sys2 = tf([1], [1 3 8]);
sys = sys1*sys2

subplot(1, 2, 1)
step(sys)

sys3 = tf([1], [1 0]);
subplot(1, 2, 2)
step(sys*sys3)
title('Ramp Response')

figure
rlocus(sys*sys3)

Here's the result: http://i.imgur.com/vXoXV.png

As can be seen, the step and ramp responses are unstable. All the roots are on the left of the imaginary axis, so the system must be stable. I'm not sure where I went wrong.

Your system has a pole at the origin. So, it is unstable. With a unit feedback it can be made stable, depending of the gain (your root locus graph).
 
So it's only stable if it's a closed loop? Thanks, that solved the unit step part.

What about the ramp response? How do I make it stable?
 
Last edited:
The response of a stable system to a ramp input is a ramp, so it tends to infinity.
If you have a pole at the origin, the response to a ramp will be a parabola, as your graph shows.
 
Many thanks for the help.
 

Similar threads

Replies
2
Views
2K
  • · Replies 12 ·
Replies
12
Views
3K
Replies
0
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 4 ·
Replies
4
Views
5K