필터 지우기
필터 지우기

any one knows about this error ?

조회 수: 3 (최근 30일)
Aniket
Aniket 2013년 5월 6일
I am working on duct simulation with control theory
i have code but for estimator gain i am getting error
in the last line with lqe command i am trying to find estimator gain but it gives me error as following
Error using lqe (line 52)
Q must be square with as many columns as G.
Error in augmentedmode0 (line 76)
[L,P,E]= lqe(Aaug,Gaug,Caug,Qe,Re);
**********my code is ************
clear all ;
clc; close all;
Nmod = 0;
L = 1.2;
K = 0.051;
zi = 0.315;
zm = 0.775;
c = 340 ;
roh = 1.225;
S = 1;
eta =1 ;
betan = -Nmod*pi/L;
alfa = 1/(2*L)*log((1-K)/(1+K));
%******duct model for mode 0 **********
A0r = c*alfa;
A0i = c*eta;
G0 = -1 /(2*c*L*roh);
B0r = cos(eta*zi)*sinh(alfa*zi)/(2*c*L*roh*S);
B0i = sin(eta*zi)*cosh(alfa*zi)/(2*c*L*roh*S);
C0r = -2*roh*c^2*cos(eta*zm)*sinh(alfa*zm);
C0i = -2*roh*c^2*sin(eta*zm)*cosh(alfa*zm);
A0n = [A0r -A0i;A0i A0r]
B0n = [B0r;B0i]
G0n = [G0;0]
C0n = [C0r;C0i]'
%*******internal model*********** Ai1 = [0 1;-100^2 0]
Bi1 = [0;100^2]
Ci1 = [1 0]
%**********augmented mode0************
Aaug = [A0n B0n*Ci1;zeros(2) Ai1]
Baug = [zeros(2,1);Bi1]
Gaug = [G0n;zeros(2,1)]
Caug = [C0n zeros(1,2)]
Daug = 0
%************controller*********
Rc =1
q=60;
Qc = Caug'*q*Caug
[Kc,S,E] = lqr(Aaug,Baug,Qc,Rc);
%*************kalman gain*********
Re = 1;
qe1 = 0.01;
qe2 = 10^6;
Qe = qe1*Gaug*Gaug'+ qe2*Baug*Baug';
[L,P,E]= lqe(Aaug,Gaug,Caug,Qe,Re);

답변 (1개)

José-Luis
José-Luis 2013년 5월 6일
Q must be square with as many columns as G.
You could use the debugger and see why the message given above occurs. Please learn to use it, as it would be much more efficient than having people remotely debug the code for you.
doc dbstop

카테고리

Help CenterFile Exchange에서 State-Space Control Design and Estimation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by