Why Is My MATLAB Steady State Error Different from Manual Calculation?

In summary, the speaker is trying to calculate the steady state error of a system using MATLAB, but is unsure of the steps needed to do so. They ask for help and are given two options: to find the transfer function and use the final value theorem, or to calculate the error constant. The speaker then provides their own calculations and asks for feedback on where they went wrong.
  • #1
dontigeh
3
0
I am trying to calculate the steady state error of the following system but unable to do it. I have used MATLAB and calculated the steady state error to be 0.1128 but don't understand the steps that I need to do to calculate this.
Please help.

Thanks
image.jpg
 
Engineering news on Phys.org
  • #2
dontigeh said:
I am trying to calculate the steady state error of the following system but unable to do it. I have used MATLAB and calculated the steady state error to be 0.1128 but don't understand the steps that I need to do to calculate this.

Do you mean the steady-state error to a step input?

What value of ##K## did you use? The system is unstable for ##K = 1##.

In general, you could find the transfer function from the input to ##E(s)##, verify it's stable, and use the final value theorem.
 
  • Like
Likes timthereaper
  • #3
milesyoung said:
Do you mean the steady-state error to a step input?

What value of ##K## did you use? The system is unstable for ##K = 1##.

In general, you could find the transfer function from the input to ##E(s)##, verify it's stable, and use the final value theorem.

Yes I want the steady-state error to a step input.

And the value of K used was 0.375.
 
  • #4
dontigeh said:
Yes I want the steady-state error to a step input.

And the value of K used was 0.375.
Right, so you could use the general method I described, or if you've had a lecture on error constants, you could calculate that instead.
 
  • #5
I agree with @milesyoung and say you should compute the closed-loop transfer function and use the final value theorem.
 
  • #6
Hi,
Thanks for the help.
I did the following: 1/s(1-(262.5s+262.5)+(700/0.375S^4+7.313s^3+37.313s^2+43.875s+276)), then i did E(infinity) = lim s-> 0 [ 1-700/736]= 0.04891. Which is not correct. The gain is 0.375.
 
  • #7
dontigeh said:
Hi,
Thanks for the help.
I did the following: 1/s(1-(262.5s+262.5)+(700/0.375S^4+7.313s^3+37.313s^2+43.875s+276)), then i did E(infinity) = lim s-> 0 [ 1-700/736]= 0.04891. Which is not correct. The gain is 0.375.
I can't decipher what went wrong if you don't show more detail.

I'd suggest you don't multiply anything out. Just find ##E(s)## symbolically using ##G_1(s),G_2(s),G_3(s)##, and then take the limit.
 
  • #8
Since you are going to take the limit of the final formula as s->0, you can do that in each part as the first step. That will simplify things tremendously.
That gives a steady state gain of .375 * 7/0.5 * 100/72 = 7.29166666666667 across the top and a steady state gain of 1 for G3 in the feedback loop.
For the entire system I get a steady state gain of 7.29166666666667/(1+7.29166666666667) = 0.879396984924623.
For a unit step input, that would give a steady state error of 1-0.879396984924623 = 0.120603015075377.
I don't know why the MATLAB answer 0.1128 is different. Is it possible that the MATLAB number is from a finite time plot that is an approximation to infinite time?
 
Last edited:
  • Like
Likes dontigeh and timthereaper

FAQ: Why Is My MATLAB Steady State Error Different from Manual Calculation?

What is steady state error?

Steady state error is a measure of the difference between the desired or expected output and the actual output of a system after it has reached a stable state. It is typically expressed as a percentage or a decimal value.

How is steady state error calculated?

Steady state error is calculated by taking the difference between the desired or expected output and the actual output at the final time step and dividing it by the desired output. This value is then multiplied by 100 to get the percentage error.

What does a high steady state error indicate about a system?

A high steady state error generally indicates that the system is not performing as desired and may have stability or accuracy issues. It can also indicate that the system is not properly tuned or there are external disturbances affecting the output.

What are the factors that can affect steady state error?

The factors that can affect steady state error include system design, controller design, external disturbances, and system parameters such as gain and time constants. In addition, the type of control system (i.e. open-loop or closed-loop) can also impact the steady state error.

How can steady state error be reduced?

Steady state error can be reduced by adjusting the parameters of the control system, such as the gain, to improve the system's response. Additionally, using feedback control and implementing a controller with integral control can also help reduce steady state error. Properly tuning the control system and minimizing external disturbances can also help reduce steady state error.

Similar threads

Replies
6
Views
1K
Replies
2
Views
437
Replies
4
Views
913
Replies
8
Views
7K
Replies
15
Views
3K
Replies
14
Views
6K
Replies
7
Views
1K
Replies
11
Views
810
Replies
2
Views
3K
Back
Top