MATLAB Understanding Positive Feedback in MATLAB

AI Thread Summary
The discussion centers on a MATLAB user who is trying to understand the results of a positive feedback system. The user manually calculates the closed-loop transfer function as 2s^2 + 3s + 1 over 2s^3 + 4s^2 + 3s + 1, but when using the MATLAB command "sys = feedback(A,B,+1)", the output is 2s + 1 over 2s^2 + 2s + 1. The user initially suspects an error in the feedback function usage but later realizes the discrepancy is due to a misunderstanding of the system's configuration. The conversation highlights the importance of correctly setting up the feedback loop in MATLAB for accurate results. Ultimately, the user resolves their confusion regarding the MATLAB output.
nand_1
Messages
15
Reaction score
0
Hi All,

Suppose I have the following system:

A = 1 / (S + 1) (open loop)

B = S / (2S + 1) (feedback path)

I know that the positive feedback closed loop system will thus be: A / (1 - AB), and entering this manually in MATLAB (as well as doing it by hand), I get:


2 s^2 + 3 s + 1
-----------------------
2 s^3 + 4 s^2 + 3 s + 1

However, when I use the following command:

sys = feedback(A,B,+1)

I get the following:

2 s + 1
---------------
2 s^2 + 2 s + 1


Is there something I'm missing?

Regards,
 
Physics news on Phys.org
\frac{2s^2+3s+1}{2s^3+4s^2+3s+1} = \frac{(2s+1)(s+1)}{(2s^2+2s+1)(s+1)} = \frac{2s+1}{2s^2+2s+1}
 
  • Like
Likes 1 person
Thanks Kreil, realized this later on after the post. Thought it was an issue with the way i was using the feedback function.
 
Back
Top