I am trying to build a feedback system and use the connect() function to build it. But some how I can not get the correct transfer function. Here is my code:
G1 = tf([1,[1,0]]); G2 = tf(1,[1 1 0]); G3 = tf(1,[1,1,0]);
G4 = tf(-2, 1); G5 = tf(-1,1); G6 = tf(1,[1,0]);
G7 = tf(-1,[1,1]);
Sys = append(G1,G2,G3,G4,G5,G6,G7);
Q = [1 6 5; 2 1 7; 3 2 0; 4 3 0; 5 4 0; 6 2 0; 7 3 0];
INPUTS = 1;
OUTPUTS = 4;
G = connect(Sys, Q, INPUTS, OUTPUTS);
tf(G)
Here is my error:
Warning: The closed-loop model may be improper because of singular algebraic loops.
ans =
0
Static gain.
Please help

 Réponse acceptée

Hi Zeyuan,
Is G1 defined correctly? If it is, or if stil having trouble after correcting it, it would be easier to help with a block diagram drawing of the system to be modeled. You can upload a figure using the paperclip icon on the Insert menu if needed.
G1 = tf([1,[1,0]]), G2 = tf(1,[1 1 0]); G3 = tf(1,[1,1,0]);
G1 = From input 1 to output: 1 From input 2 to output: 1 From input 3 to output: 0 Static gain.
G4 = tf(-2, 1); G5 = tf(-1,1); G6 = tf(1,[1,0]);
G7 = tf(-1,[1,1]);
Sys = append(G1,G2,G3,G4,G5,G6,G7);
Q = [1 6 5; 2 1 7; 3 2 0; 4 3 0; 5 4 0; 6 2 0; 7 3 0];
INPUTS = 1;
OUTPUTS = 4;
G = connect(Sys, Q, INPUTS, OUTPUTS);
Warning: The closed-loop model may be improper because of singular algebraic loops.

Plus de réponses (1)

You probably meant to write
G1 = tf(1,[1,0]);
But there is no way to tell unless you specify to us what you intended to do.

Catégories

En savoir plus sur Control System Toolbox dans Centre d'aide et File Exchange

Produits

Version

R2025a

Question posée :

le 16 Juil 2026

Commenté :

le 16 Juil 2026

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by