Responses of a transfer function on MATLAB

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.

Related Engineering and Comp Sci Homework Help News on Phys.org
CEL
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:
CEL
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.