modelos de sistemas continuos con ing. rafael a. díaz chacón u.c.v. v rad/99 casos de estudio n°...

Post on 28-Jan-2016

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Modelos de Sistemas Continuos con

Ing. Rafael A. Díaz Chacón

U.C.V.

V

RAD/99

Casos de Estudio N° 20, 21 y 22

RAD/99

La Ecuación Diferencial debe expresarse como una ecuación de estado

SS[I] representa a la variable de estado I

DD[I] representa a la derivada de la variable de estado I

DDd

dtSS[ ] [ ]I I

ay by f t ( ) a DD b SS USERF* [ ] * [ ] ( )I I 1

Ecuaciones Diferenciales en SLAM: Definiciones

RAD/99

Ecuaciones Diferenciales en SLAM: Ejemplos

dy

dty t

kdy

dty f t

d

dtp t p t p t

d

dtp t p t p t p t

d

dtp t p t p t

1

2 2 5

2 4 5 2 5

2 2 5

0 0 1

0 0 1 2

2 1 2

( )

( ) * ( ) . * ( )

( ) * ( ) . * ( ) . * ( )

( ) * ( ) . * ( )

DD =-SS +TNOW+ [1] [1] 1

DD = -SS +USERF k [1] [1]( ( )) /1

DD =- SS + SS

DD = SS + SS

DD = SS SS

[1] [1]

[2] [1]- 4.5*SS[2]

[3] [2]

2 2 5 2

2 2 5 3

2 2 5 3

* . * [ ]

* . * [ ]

* . * [ ]

RAD/99

Ecuaciones Diferenciales en SLAM: Ejemplos

d

dt

g

lsin

2

2 0 DD =SS

DD g l sin SS

[1] [2]

[2] ( / ) * ( [ ])1

DD =SS

DD = k m SS SS USERF m

DD =SS

DD = k m SS SS

[1]

[2] [1] -

[3]

[4] [1]

[ ]

( / ) *( [ ]) ( ) /

[ ]

( / ) *( [ ])

2

3 1

4

3

1 1

2

md

dtx k x x F

md

dtx k x x

1

2

2 1 1 2

2

2

2 2 1 2

( )

( )

RAD/99

Ecuaciones Diferenciales en SLAM: Eventos de Estado

SEVNT,CODIGO,VARIABLE,DIRECCION,UMBRAL,TOLERANCIA

Ejemplos

SEVNT,1,SS[1],XP,0.7,0.1;

SEVNT,2,SS[2],XN,SS[1],0.07;

SEVNT,3,DD[4],X,0.0,0.0;

SEVNT,4,NNQ(1),XP,XX[7],0.0;

RAD/99

Ecuaciones Diferenciales en SLAM: Eventos de Estado… (Ejemplo)

SEVNT,1,SS[1],XP,XX[1],0.0;

1.- En un tanque con capacidad C que debe llenarse desde un nivel C0 según un caudal Q, no se puede sobrepasar la capacidad C ya que se desborda el tanque.

Sea SS[1] el volumen del tanque y sea XX[1] la capacidad del tanque. Entonces el evento 1 se da cuando la variable SS[1] pasa

en la dirección positiva el umbral XX[1].

RAD/99

Ecuaciones Diferenciales en SLAM: Eventos de Estado… (Ejemplo)

SEVNT,2,SS[2],XP,XX[11],0.0;

2.- En un circuito RLC serie, cuando la tensión sobre el condensador iguala por primera vez a la tensión de alimentación ocurre un corto circuito en la fuente.

Sea SS[1] la tensión sobre el condensador y sea XX[11] la tensión de alimentación. Entonces el evento 2 se da cuando la variable SS[1] pasa en

la dirección positiva el umbral XX[11].

Caso de Estudio N° 20: Circuito RC Serie

RAD/99

“Para el circuito RC serie de la figura se desea conocer la tensión VC(t) sobre el condensador al conectar la fuente de tensión V(t) en t = 0.”

R

CV(t)

i(t)

VC(t)+ +

S

Caso de Estudio N° 20: Circuito RC Serie

RAD/99

Datos del problema (en DATA20.DAT)

DATOS_DEL_EJEMPLO_20_EN_EL_ARCHIVO_DATA20.DATalimentacion(v) 10 resistencia(ohms) 10capacitancia(farad) 0.1tension(v) 5 frecuencia(h) 1inicio(%_de_TTFIN) 0.2fin(%_de_TTFIN) 0.7pulso_en_ON 0.5pulso_en_OFF 0.5 selector 4

“Este archivo de datos ha sido editado para esta lámina”

Caso de Estudio N° 20: Circuito RC Serie

RAD/99

Significado de los datos del problema

alimentacion(v) Amplitud de la Tensión V(t) resistencia(ohms) Resistencia Rcapacitancia(farad) Capacitancia Ctension(v) Tensión inicial en C (VC(0)) frecuencia(h) frecuencia de una onda senoidalinicio(%_de_TTFIN) inicio de pulso de alimentaciónfin(%_de_TTFIN) fin de pulso de alimentaciónpulso_en_ON duración de pulso en ONpulso_en_OFF duración de pulso en OFFselector selector de la señal de alimentación

Caso de Estudio N° 20: Circuito RC Serie

RAD/99

Selector de la señal de alimentación

Los posibles valores para el selector de la señal de alimentación son los siguientes:

1.- Señal constante. V(t) = A

2.- Señal senoidal. V(t) = A*sin(2ft)

3.- Pulso rectangular.V(t) = A si ti < t < tf

A si t tON

4.- Tren de pulsos rectangulares. V(t) =

0 si t tOFF

{

Caso de Estudio N° 20: Circuito RC Serie

RAD/99

Definición de variables y funciones en C

#include "vslam.h"#include <math.h>#include <stdio.h>

void lectura (void);

float Constante, amplitud, resistencia, capacitancia;float tinicial,int selector;float frecuencia, inicio, fin, pulso;int entero;float tiempo, inipulso, finpulso;ENTITY *pecur;

Caso de Estudio N° 20: Circuito RC Serie

RAD/99

Inicialización y lectura de datos (I)

BOOL SWFUNC INTLC(UINT uiRun){lectura ( );//Calculo de valores inicialesXX[3] = inipulso;XX[4] = finpulso;Constante = resistencia*capacitancia;SS[1]=tinicial;return(TRUE);}

Caso de Estudio N° 20: Circuito RC Serie

RAD/99

Inicialización y lectura de datos (II)

void lectura (void){char etiqueta[100];FILE *fp;

fp=fopen("c:/projects/casos/data20.dat","r");fscanf(fp,"%s ",etiqueta);fscanf(fp,"%s %f",etiqueta, &amplitud);fscanf(fp,"%s %f",etiqueta, &resistencia);fscanf(fp,"%s %f",etiqueta, &capacitancia);fscanf(fp,"%s %f",etiqueta, &tinicial);fscanf(fp,"%s %f",etiqueta, &frecuencia);fscanf(fp,"%s %f",etiqueta, &inicio);fscanf(fp,"%s %f",etiqueta, &fin);fscanf(fp,"%s %f",etiqueta, &inipulso);fscanf(fp,"%s %f",etiqueta, &finpulso);fscanf(fp,"%s %d",etiqueta, &selector);fclose(fp);return;}

Caso de Estudio N° 20: Circuito RC Serie

RAD/99

Ecuación de estado y función STATE

void SWFUNC STATE (void){DD[1]=(-SS[1]+USERF(selector,pecur))/Constante;XX[1]=SS[1];XX[2]=capacitancia*DD[1];return;}

Caso de Estudio N° 20: Circuito RC Serie

RAD/99

Función USERF

double USERF (int IFN, ENTITY *pecur){double retorno;

switch (IFN){ case 1://ALIMENTACION CONSTANTE retorno = amplitud; break; case 2://ALIMENTACION SENOIDAL retorno = amplitud*sin(6.28*TNOW*frecuencia); break;………..

Caso de Estudio N° 20: Circuito RC Serie

RAD/99

Función USERF (Cont.)

….. case 3://ALIMENTACION CON UN PULSO RECTANGULAR if(TNOW >= (inicio*TTFIN) && TNOW < (fin*TTFIN)) retorno = amplitud; else retorno = 0; break; ………...

Caso de Estudio N° 20: Circuito RC Serie

RAD/99

Función USERF (Cont.)

………..case 4://ALIMENTACION CON UN TREN DE PULSOS RECTANGULARES pulso = XX[3]+XX[4]; entero = TNOW/pulso; tiempo = TNOW - pulso*entero; if(tiempo <= XX[3]) retorno = amplitud; if(tiempo > XX[3] && tiempo <= pulso) retorno = 0; break; } XX[0] = retorno;return (retorno);}

Caso de Estudio N° 20: Circuito RC Serie

RAD/99

Programa de control

GEN,"RAFAEL DIAZ","CASO DE ESTUDIO N° 20",26/4/99,1,YES,YES;LIMITS,5;CONTINUOUS,1,-1,0.01,0.1,,WARNING;RECORD,1,,TNOW,"TIME",{AWESIM},,TTBEG,TTFIN, ,{{XX[1],"TENSION EN EL CONDENSADOR",}, {XX[2],"CORRIENTE",},{XX[0],"SEÑAL DE ENTRADA",}};INITIALIZE,0.0,10,YES;FIN;

“Este programa ha sido editado para esta lámina”

Caso de Estudio N° 20: Circuito RC Serie

RAD/99

Resultados (selector = 1)

Caso de Estudio N° 20: Circuito RC Serie

RAD/99

Resultados (selector = 2)

Caso de Estudio N° 20: Circuito RC Serie

RAD/99

Resultados (selector = 3)

VC(0) = 5 -->

Caso de Estudio N° 20: Circuito RC Serie

Resultados (selector = 4)

RAD/99

Caso de Estudio N° 21: Otro circuito RC

RAD/99

“Para el circuito de la figura se desea conocer la tensión VC(t). En t = t0 se abre el interruptor S.”

R1

CV(t)

i(t)VC(t)

+ +

S

R2

RAD/99

Datos del problema (en DATA21.DAT)

DATOS_DEL_EJEMPLO_21_EN_EL_ARCHIVO_DATA21.DATalimentacion(v) 1 resistencia1(ohms) 1resistencia2(ohms) 2capacitancia(farad) 1tension(v) 0 tcambio(seg) 2 frecuencia(h) 1inicio(%_de_TTFIN) 0.1fin(%_de_TTFIN) 0.15pulso_en_ON 0.5pulso_en_OFF 0.5 selector 3

“Este archivo de datos ha sido editado para esta lámina”

Caso de Estudio N° 21: Otro circuito RC

RAD/99

Significado de los datos del problema

alimentacion(v) Amplitud de la Tensión V(t) resistencia1(ohms) Resistencia R1

resistencia2(ohms) Resistencia R2

capacitancia(farad) Capacitancia Ctension(v) Tensión inicial en C (VC(0))tcambio(seg) Instante de abrir el interruptor Sfrecuencia(h) frecuencia de una onda senoidalinicio(%_de_TTFIN) inicio de pulso de alimentaciónfin(%_de_TTFIN) fin de pulso de alimentaciónpulso_en_ON duración de pulso en ONpulso_en_OFF duración de pulso en OFFselector selector de la señal de alimentación

Caso de Estudio N° 21: Otro circuito RC

RAD/99

Selector de la señal de alimentación

Los posibles valores para el selector de la señal de alimentación son los siguientes:

1.- Señal constante. V(t) = A

2.- Señal senoidal. V(t) = A*sin(2ft)

3.- Pulso rectangular.V(t) = A si ti < t < tf

A si t tON

4.- Tren de pulsos rectangulares. V(t) =

0 si t tOFF

{

Caso de Estudio N° 21: Otro circuito RC

RAD/99

Definición de variables y funciones en C

Caso de Estudio N° 21: Otro circuito RC

#include "vslam.h"#include <math.h>#include <stdio.h>

void lectura (void);

float Constante1, Constante2, Constante3;float amplitud, resistencia1, resistencia2;float capacitancia, tinicial, tcambio;int selector;float frecuencia, inicio, fin, pulso;int entero;float tiempo, inipulso, finpulso;ENTITY *pecur;

RAD/99

Inicialización y lectura de datos (I)

Caso de Estudio N° 21: Otro circuito RC

BOOL SWFUNC INTLC(UINT uiRun){lectura ( );//Calculo de valores inicialesXX[3] = inipulso;XX[4] = finpulso;Constante1 = resistencia1*capacitancia;Constante2 = resistencia2*capacitancia;Constante3 = 1.+(resistencia1/resistencia2);SS[1]=tinicial;return(TRUE);}

RAD/99

Inicialización y lectura de datos (II)

Caso de Estudio N° 21: Otro circuito RC

void lectura (void) {char etiqueta[100];FILE *fp;fp=fopen("c:/projects/casos/data21.dat","r");fscanf(fp,"%s ",etiqueta);fscanf(fp,"%s %f",etiqueta, &amplitud);fscanf(fp,"%s %f",etiqueta, &resistencia1);fscanf(fp,"%s %f",etiqueta, &resistencia2);fscanf(fp,"%s %f",etiqueta, &capacitancia);fscanf(fp,"%s %f",etiqueta, &tinicial);fscanf(fp,"%s %f",etiqueta, &tcambio);fscanf(fp,"%s %f",etiqueta, &frecuencia);fscanf(fp,"%s %f",etiqueta, &inicio);fscanf(fp,"%s %f",etiqueta, &fin);fscanf(fp,"%s %f",etiqueta, &inipulso);fscanf(fp,"%s %f",etiqueta, &finpulso);fscanf(fp,"%s %d",etiqueta, &selector);fclose(fp);return; }

RAD/99

Ecuación de estado y función STATE

Caso de Estudio N° 21: Otro circuito RC

void SWFUNC STATE (void){if(TNOW <= tcambio) DD[1]=(-SS[1]*Constante3+USERF(selector,pecur))/Constante1;else{ DD[1] = (-SS[1])/Constante2;}XX[1]=SS[1];XX[2]=capacitancia*DD[1];return;}

RAD/99

Programa de control“Este programa ha sido editado para esta lámina”

Caso de Estudio N° 21: Otro circuito RC

GEN,"RAFAEL DIAZ","CASO DE ESTUDIO N° 21",3/5/99,1,YES,YES;LIMITS,5;CONTINUOUS,1,-1,0.01,0.1,,WARNING;RECORD,1,,TNOW,"TIME",{AWESIM},,TTBEG,TTFIN, ,{{XX[1],"TENSION EN EL CONDENSADOR",}, {XX[2],"CORRIENTE",},{XX[0],"SEÑAL DE ENTRADA",}};INITIALIZE,0.0,10,YES;FIN;

RAD/99

Caso de Estudio N° 21: Otro circuito RC

Resultados (selector = 1)

Caso de Estudio N° 22: Cambios de estado en un sistema M/M/1/1

RAD/99

“En un sistema de colas donde sólo hay espacio de espera para un usuario se desean conocer las probabilidades de N, número de usuarios en el sistema, en función del tiempo. Los posibles valores de N serán, entonces, 0, 1 y 2. El proceso de llegadas es Poisson y el tiempo de servicio sigue una distribución exponencial”

SERVICIO

COLA DE ESPERA SALIDALLEGADAS

! MÁXIMO UN USUARIO !

Caso de Estudio N° 22: Cambios de estado en un sistema M/M/1/1

RAD/99

“Los datos requeridos para este caso de estudio son las tasas de llegada y de servicio, TLL y TS, y

los valores iniciales de las probabilidades.”

Si pn(t) es la probabilidad de tener n usuarios en el sistema, las ecuaciones que rigen el

comportamiento del mismo serán:d

dtp t T p t T p t

d

dtp t T p t T T p t T p t

d

dtp t T p t T p t

LL S

LL LL S S

LL S

0 0 1

1 0 1 2

2 1 2

( ) ( ) ( )

( ) ( ) ( ) ( ) ( )

( ) ( ) ( )

Caso de Estudio N° 22: Cambios de estado en un sistema M/M/1/1

RAD/99

Datos del problema (en DATA22.DAT)“Este archivo de datos ha sido editado para esta lámina”

DATOS_DEL_EJEMPLO_22_EN_EL_ARCHIVO_DATA22.DAT

tasa_de_llegadas 7 tasa_de_servicio 2.5 P0_INICIAL 1 P1_INICIAL 0 P2_INICIAL 0

T

TLL

S

7

2 52 8

..

Caso de Estudio N° 22: Cambios de estado en un sistema M/M/1/1

RAD/99

Definición de variables y funciones en C

#include "vslam.h"#include <math.h>#include <stdio.h>

void lectura (void);

float Tllegadas;float Tservicio;float P0;float P1;float P2;float A[4][4];

Caso de Estudio N° 22: Cambios de estado en un sistema M/M/1/1

RAD/99

Inicialización y lectura de datos (I)

BOOL SWFUNC INTLC(UINT uiRun){lectura ( );//Calculo de valores inicialesA[1][1] = -Tllegadas;A[1][2] = Tservicio;A[1][3] = 0;A[2][1] = Tllegadas;A[2][2] = -(Tllegadas+Tservicio);A[2][3] = Tservicio;A[3][1] = 0;A[3][2] = Tllegadas;A[3][3] = -Tservicio;SS[1]=P0;SS[2]=P1;SS[3]=P2;return(TRUE);}

Caso de Estudio N° 22: Cambios de estado en un sistema M/M/1/1

RAD/99

Inicialización y lectura de datos (II)

void lectura (void){char etiqueta[100], car;FILE *fp;fp=fopen("c:/projects/casos/data22.dat","r");fscanf(fp,"%s ",etiqueta);fscanf(fp,"%s %f",etiqueta, &Tllegadas);fscanf(fp,"%s %f",etiqueta, &Tservicio);fscanf(fp,"%s %f",etiqueta, &P0);fscanf(fp,"%s %f",etiqueta, &P1);fscanf(fp,"%s %f",etiqueta, &P2);fclose(fp);return;}

Caso de Estudio N° 22: Cambios de estado en un sistema M/M/1/1

RAD/99

Ecuación de estado y función STATE

void SWFUNC STATE (void) {int fila, columna;for(fila = 1; fila<= 3;fila++){XX[fila] = 0;for(columna = 1; columna<= 3;columna++){XX[fila] = XX[fila]+A[fila][columna]*SS[columna];}DD[fila] = XX[fila];}return; }

Caso de Estudio N° 22: Cambios de estado en un sistema M/M/1/1

RAD/99

Programa de control“Este programa ha sido editado para esta lámina”

GEN,"RAFAEL DIAZ","CASO DE ESTUDIO N° 22",3/5/99,1,YES,YES;LIMITS,5;CONTINUOUS,3,-1,0.001,0.01,,WARNING;RECORD,1,,TNOW,"TIME",{AWESIM},,TTBEG,TTFIN, ,{{SS[1],"PROB DEL ESTADO CERO",}, {SS[2],"PROB DEL ESTADO UNO",}, {SS[3],"PROB DEL ESTADO DOS",}};INITIALIZE,0.0,2,YES;FIN;

Caso de Estudio N° 22: Cambios de estado en un sistema M/M/1/1

RAD/99

Resultados ( = 2.8)

p0 2 0 086( ) .

Caso de Estudio N° 22: Cambios de estado en un sistema M/M/1/1

RAD/99

Resultados ( = 2.8)

p1 2 0 241( ) .

Caso de Estudio N° 22: Cambios de estado en un sistema M/M/1/1

RAD/99

Resultados ( = 2.8)

p2 2 0 674( ) .

Caso de Estudio N° 22: Cambios de estado en un sistema M/M/1/1

RAD/99

Resultados ( = 0.5)

p0 2 0 577( ) .

Caso de Estudio N° 22: Cambios de estado en un sistema M/M/1/1

RAD/99

Resultados ( = 0.5)

p1 2 0 284( ) .

Caso de Estudio N° 22: Cambios de estado en un sistema M/M/1/1

RAD/99

Resultados ( = 0.5)

p2 2 0139( ) .

top related