Está en la página 1de 1

Programa de Ingeniera en Automtica Industrial

Sistemas Dinmicos _ Docente: Sergio Salinas


Octubre 10 de 2006

Simulacin de Sistemas no Lineales


1. Pndulo Simple con Friccin
Programa para la generacin del campo
vectorial y una trayectoria en el plano de fase:
close all
clc
clear all
global g m l b
%Parametros:
g = 9.81;
m = 0.01;
l = 1;
b = 0.01;

a. Cambiar el intervalo de clculo y


visualizacin del campo vectorial desde -10
hasta 10.
b. Dibujar otra trayectoria con un punto inicial
diferente.
Programa para la localizacin de puntos de
equilibrio, linealizacin y estabilidad:
clear all
clc
%Parametros:
g = 9.81;
m = 0.01;
l = 1;
b = 0.01;

%Ecuaciones:
syms x1 x2 u
x1p = x2;
x2p = (u/(m*l))-(g/l)*sin(x1)-(b/(m*l))*x2;

%Ecuaciones:
syms x1 x2 u
x1p = x2;
x2p = (u/(m*l))-(g/l)*sin(x1)-(b/(m*l))*x2;

%Campo vectorial:
u
= 0;
interval= -2*pi:0.5:2*pi;
[x1,x2] = meshgrid(interval);
x1p = eval(x1p);
x2p = eval(x2p);
quiver(x1,x2,x1p,x2p,0.5);
axis([-6 6 -6 6]);
hold on

%Linealizacin
f
= [x1p; x2p];
h
= x1;
A
= jacobian(f,[x1 x2])
B
= jacobian(f,u)
C
= jacobian(h,[x1 x2])
D
= jacobian(h,u)

%Una trayectoria del diagrama de fase


tiempo = [0 10];
x_0 = [pi -0.01];
[t,x] = ode45('Ec_pend',tiempo,x_0);
plot(x(:,1),x(:,2),'r')
figure
plot(t,x(:,1))
hold on
plot(t,x(:,2),'r')

%Punto de equilibrio:
u
= 0; %Equilibrio de la entrada impulso
xeq = solve(x1p,eval(x2p));
x1eq = double(xeq.x1)
x2eq = double(xeq.x2)
%Evaluando en el punto de equilibrio:
x1 = x1eq;
Aeq = eval(A)

Crear otro programa que contenga:

%Estabilidad
eig(Aeq)

function xp = Ec_pend(t,x)
global g m l b
%Estados derivados del sistema
xp
= zeros(2,1);
xp(1) = x(2);
xp(2) = -(g/l)*sin(x(1))-(b/(m*l))*x(2);

Realizar el mismo procedimiento para el


Circuito del Diodo Tnel visto en clase.
3. Montar el sistema linealizado del pndulo
en Simulink y compararlo con el pndulo
no lineal de la sesin pasada.
2.

También podría gustarte