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

답변 (2개)

Paul
Paul 대략 1시간 전
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.
Jasper Gerritsen
Jasper Gerritsen 대략 1시간 전

0 개 추천

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

질문:

대략 16시간 전

답변:

대략 7시간 전

Community Treasure Hunt

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

Start Hunting!

Translated by