Matlab - Ayuda simulacion dinamica sistema variable de estados

 
Vista:

Ayuda simulacion dinamica sistema variable de estados

Publicado por puchyfer (1 intervención) el 04/12/2013 18:15:10
Hola,
tengo un problema con el codigo, no se que es lo que tengo mal, a ver si me podeis ayudar.
tengo un sistema en espacio de estados, lo he discretizado y ahora quiero ver la dinamica peró me da un error y no me sale la grafica de salida

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
%================================================= 
% PARAMETROS MOTOR DC 
%=================================================
Jm=5;
Kj=9;
Bm=4;
Rt=8;
Lt=2;
Tl=3;
 
%================================================= 
% MATRICES ecuaciones DE ESTADO 
%=================================================
A=[-Rt/Lt -Kj/Lt 0
    Kj/Jm -Bm/Jm 0
    0 1 0];
B=[1/Lt
    0
    0];
C=[0 1 0];
D=0;
%================================================= 
% DISCRETIZACIÓN DE LAS ECUACIONES DEL SISTEMA 
%=================================================
 
%   x(k+1)=Ad*x(k)+Bd*u(k)
%   y(k)=Cd*X(k)
 
 
T=1/100;            % frecuencia de muestreo
 
[F,G,H,J] = c2dm(A,B,C,D,T);
 
%Ad=expm(A*T);
%In=inv(A);
%I=eye(3);
%Bd=(Ad-I)*In*B;
%Cd=C;
%Dd=D;
 
N=length(T);        % Number of elements, N, in vector, t.
U=zeros(0,100);     % Define space for the simulation results.
X0=[ 0 ; 0 ; 0 ];   % Initial values for the states.
 
 
for K=0:T:100
 
    X(K+1) = F * X0 + G * U;
    Y(K+1)=H*X(K+1);
 
 
end
figure(1);
 plot(T,Y);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Ayuda simulacion dinamica sistema variable de estados

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 05/12/2013 11:21:16
1
2
3
4
5
6
7
for K=0:T:100
 
    X(K+1) = F * X0 + G * U;
    Y(K+1)=H*X(K+1);
 
 
end


Revisar esta parte, no puede ser el incremento T, dimensiones G y U distintos.

Saludos.
JOSE JEREMÍAS CABALLERO
Asesorías en Matlab
programador en matlab
Servicios de programación matlab
[email protected]


http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar