Why I do not see the correct transfer function

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

 采纳的回答

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.

更多回答(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.

类别

帮助中心File Exchange 中查找有关 Dynamic System Models 的更多信息

产品

版本

R2025a

Community Treasure Hunt

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

Start Hunting!

Translated by