Vous êtes sur la page 1sur 10

Informe #05

Fecha de realizacin: 2017/01/25


Fecha de entrega: 2017/02/02
Calva Jazmn
Picho Luis
GR#09

LABORATORIO DE DINMICA DE SISTEMAS

PRCTICA #05: DIAGRAMAS DE BLOQUES Y REDUCCIN DE BLOQUES


EN MATLAB.

OBJETIVOS:

Familiarizar al estudiante con los comandos de Matlab para reducir


bloques.
Simplificar diagramas de bloques en el Matlab ocupando comandos
especficos.
Simplificar diagramas de bloques estructurados en SIMULINK utilizando
Matlab.

INFORME

1. CUESTIONARIO

a) Cmo realizara una reduccin en serie, paralelo y


retroalimentacin? Explique con un ejemplo.
Primero se deben definir las funciones de transferencia. Para ello se aplicar
las siguientes funciones de transferencia para explicar la reduccin de cada
una de ellas:
%Funciones de Transferencia
G1=tf(10,[1 5])
G2=tf(3,[1 0])
H1=tf([1 1],[1 -2 1])

Reduccin en SERIE.
%Bloques en Serie
S1=series(G1,G2)
S2=(G1*G2)
%S1 y S2 son iguales

1
Informe #05
Fecha de realizacin: 2017/01/25
Fecha de entrega: 2017/02/02
Calva Jazmn
Picho Luis
GR#09

Reduccin en PARALELO.
%Bloques en Paralelo
P1=parallel(G1,G2)
P2=(G1+G2)
%P1 y P2 son iguales

Reduccin en RETROALIMENTACIN.
%Bloques en Retroalimentacin
R1=feedback(G1,H1)%Retroalimentacin Negativa
R2=G1/(1+G1*H1)
R3=minreal(R2)%Simplifica a R2 para que sea igual a R1
%R3 y R1 son iguales.

b) Describa el comando para simplificar las funciones.

El comando minreal devuelve el sistema simplificado como resultado de


cancelar las races del numerador (ceros) con los del denominador (polos). [1]
Por ejemplo cuando se usa los comandos de reduccin anteriormente escritos,
Matlab devuelve la solucin simplificada. Como se muestra en la reduccin por
RETROALIMENTANCION, el comando usado es minreal, para la
simplificacin
R3=minreal(R2)%Simplifica la funcin R2

c) Explique la diferencia entre la retroalimentacin positiva y negativa


en el Matlab.

La diferencia est en su codificacin la funcin para retroalimentacin


por Default es negativa, por lo cual al querer una positiva hay que
modificar la codificacin de la siguiente manera.
G2H1_r=feedback(G2,H1) %retroalimentacin negativa
G2H1_rpos=feedback(G2,H1,1) %retroalimentacin positiva

La retroalimentacin positiva tiene un 1 adicional al cdigo convencional.

2
Informe #05
Fecha de realizacin: 2017/01/25
Fecha de entrega: 2017/02/02
Calva Jazmn
Picho Luis
GR#09

d) Realice la simplificacin de los siguientes diagramas utilizando los


comandos series, parallel y freedback

clear
clc
G1=tf(2,[1 4]);
G2=tf(2,[1 0 9]);
H1=tf(10,[1]);
Gequivalente=feedback(series(G1,G2),H1,1)

Gequivalente =

4
---------------------
s^3 + 4 s^2 + 9 s - 4

clear
clc
G1=tf([1 0.25],[1 0]);
G2=tf(2,[1 1 20]);
H1=tf(10,[1 1]);
Gequivalente=feedback(series(G1,G2),H1)

3
Informe #05
Fecha de realizacin: 2017/01/25
Fecha de entrega: 2017/02/02
Calva Jazmn
Picho Luis
GR#09
Gequivalente =

2 s^2 + 2.5 s + 0.5


-------------------------------
s^4 + 2 s^3 + 21 s^2 + 40 s + 5

2. EJERCICIOS

Graficar en el Simulink y realizar la reduccin en Matlab utilizando la


programacin general y el comando linmod.

2.1. PRIMERO

4
Informe #05
Fecha de realizacin: 2017/01/25
Fecha de entrega: 2017/02/02
Calva Jazmn
Picho Luis
GR#09

clc
clear all
close all
disp('INFORME N5 DE DINMICA DE SISTEMAS');
disp('GABRIEL CALVA-PICHO');
disp('SIMPLIFICACION DE BLOQUES A PARTIR DE SIMULINK');
[num1,den1]=linmod('prac_5')
G=tf(num1,den1)

2.2. SEGUNDO

5
Informe #05
Fecha de realizacin: 2017/01/25
Fecha de entrega: 2017/02/02
Calva Jazmn
Picho Luis
GR#09

%Numerador y denominador de cada bloque


n1=[1]; d1=[1 1];
n2=[2]; d2=[1 2];
n3=[3]; d3=[1 3];
n4=[10]; d4=[1];
n5=[20]; d5=[1];
n6=[30]; d6=[1 1 1];
nblocks=6; %Numero de bloques
blkbuild;%Construir la matriz de estado
%Define la interconexin de bloques
q=[2 1 0;3 2 0;4 2 0;4 5 0;6 1 0];
input=1;%Bloque de entrada es el bloque 1
output=4;%Bloque de salida es el bloque 4
[a,b,c,d]=connect(a,b,c,d,q,input,output);%Calcula el modelo en el
espacio de estado
[num,den]=ss2tf(a,b,c,d); % Transforma la funcin de variables
%de estado en funcin de transferencia
[num,den]=minreal(num,den);%Elimina los polos y ceros comunes
printsys(num,den)%Muestra el sistema

2.2. SEGUNDO

1. Comando LINMOD

En el Simulink, se puso las siguientes funciones de transferencia, las cuales


representan a los bloques G1, G2, etc. de la figura de arriba.

6
Informe #05
Fecha de realizacin: 2017/01/25
Fecha de entrega: 2017/02/02
Calva Jazmn
Picho Luis
GR#09

clear
clc
%COMANDO LINMOD "PRCTICA #5, EJENRCICO 2"
[num1,den1]=linmod('Ejercicio02');
GT=tf(num1,den1)%Operacin de Funcin de transferencia
GTT=minreal(GT) % simplicando

2. Programacin GENERAL.

7
Informe #05
Fecha de realizacin: 2017/01/25
Fecha de entrega: 2017/02/02
Calva Jazmn
Picho Luis
GR#09

Para esta programacin, se cont con los nueve bloque B1 al B9 de la figura de


arriba, cabe recalcar que el bloque B1 se lo utiliz nicamente para la
programacin en Matlab, y que la funcin de transferencia asociada al bloque B1
es unitaria (es 1). Y a este bloque B1 va conectado la seal de entrada.

clear
clc
%Numerador y Denominador de cada bloque
n1=[1]; d1=[1];
n2=[1]; d2=[1 0];
n3=[1 0]; d3=[1 2 1];
n4=[10]; d4=[1 0 9];
n5=[10 3]; d5=[1 -8 16];
n6=[1]; d6=[1 0 0];
n7=[1]; d7=[1];
n8=[20]; d8=[1 5];
n9=[6]; d9=[1];
nblocks=9; % Nmero de bloques
blkbuild ; % Construir matriz de estado
% Define la interconexin de bloques
q=[2 1 -7 9; 3 2 -8 0 ; 4 3 0 0; 5 4 0 0 ; 6 5 0 0; 7 3 0 0; 8 3 0 0;9
5 0 0];
input=1; % Bloque de entrada es el bloque 1
output=6; % Bloque de salida es el bloque 6
[a,b,c,d]=connect(a,b,c,d,q,input,output);% Calcula el modelo en el
espacio de estado
[num,den]=ss2tf(a,b,c,d); % Transforma la funcin de variables de
estado en funcin de transferencia
[num,den]=minreal(num,den);% Elimina los polos y ceros comunes
printsys(num,den)% Muestra el sistema

Comparando ambos resultados por los dos mtodos de reduccin de bloques,


se observa que inicialmente ambos difieren en una cantidad asociada a una
funcin exponencial, la cual si se observa y analiza detenidamente es y un
valor sumamente bajo lo cual se puede despreciar esa cantidad y al realizar la
simplificacin correcta se obtienen los mismo valores.

3. CONCLUSIONES Y RECOMENDACIONES

CONCLUSIONES (Luis Picho)

8
Informe #05
Fecha de realizacin: 2017/01/25
Fecha de entrega: 2017/02/02
Calva Jazmn
Picho Luis
GR#09
Se determin que para la programacin general, si la entrada del
sistema va directamente a un punto de suma y la salida del sistema
proviene de otro punto de suma, entonces para relacionar en que
bloques estn los input y output deberamos aadir un bloque unitario
(con funcin de transferencia 1/1) tanto en la entrada como en la salida,
para que as no se genere inconvenientes cuando se ejecute el
programa.

Se obtuvo valores similares al utilizar las dos formas de reduccin de


bloques, solo con diferencias pequeas de las funciones exponenciales
que no afectan a la respuesta porque son valores muy pequeos.

Se concluye que la forma ms rpida de efectuar una reduccin de


bloques se la obtiene a partir del Simulink, debido a que solo se necesita
conocer la forma del diagrama de bloque y graficarlo y guardar tal
archivo para luego ejecutarlo con el comando linmod, no necesita de
programacin extra y ni de aumentos extras de bloques en los casos
que se amerite para al entrada y salida del sistema.

(Jazmin Calva)
Podemos realizar las reducciones por pasos mediante los comandos
series, parallel o feedback, en este caso la respuesta es una funcin
simplificada, si se realiza con las de operaciones bsicas que se
necesita la funcin minreal para la simplificacin de la funcin de
transferencia.
Al realizar una reduccin de bloques de manera uniforme se la puede
realizar a partir de Simulick mediante la funcin linmod, sin embargo
tambin se las puede codificar directamente desde Matlab generando
bloques y matrices para su resolucin.

RECOMENDACIONES (Luis Picho)

Verificar que la matriz q, que define la interconexin de bloques tengan


los mismos nmeros de bloques relacionados, para que luego no genere
un error al ejecutar el programa.
Cuando se utilice el comando linmod, verificar que el nombre del archivo
realizado en Simulink sea el mismo que est escrito en este comando,

9
Informe #05
Fecha de realizacin: 2017/01/25
Fecha de entrega: 2017/02/02
Calva Jazmn
Picho Luis
GR#09
para evitar inconvenientes a la hora de ejecutarlo y no tener ningn
resultado.
(Jazmin Calva)
Al Realizar la reduccin de bloques de retroalimentacin, es importante
tener en cuenta el signo del denominador ya que es el signo contrario
que la retroalimentacin tiene al unirse con el punto de suma.
En la utilizacin de la funcin linmod debemos guardar el archivo
correctamente desde Simulink y ese mismo nombre utilizarlo para la
funcin.
4. BIBLIOGRAFA

[1] Gua de Prcticas, Laboratorio de Dinmica de Sistemas

10

Vous aimerez peut-être aussi