You are on page 1of 19

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO

FACULTAD DE INGENIERÍA
DIVISIÓN DE INGENIERÍA ELECTRÓNICA

INTRODUCCIÓN A MATLAB

POR: LAURA PATRICIA JIMÉNEZ MIJANGOS


ASESOR: Dr. EDUARDO RODRÍGUEZ ÁNGELES

NOVIEMBRE 2008
ÍNDICE

1. Introducción…………………………………………………………………….………………………………………………. 2
2. MatLab……………………………………………………………………………………………………………………………… 2
2.1. Escritura en MatLab…………………………………………………………………………………………………… 2
2.2. Variables Especiales y Variables Preasignadas…….…………………………………………………….. 2
2.3. Comandos de uso General…………………………………………………………………………………………. 2
2.4. Operadores Básicos…………………………………………………………………………………………………… 3
2.5. Funciones Matemáticas Básicas………….…………………………………………………………………….. 4
3. Symbolic…………………………………………………………………………………………………………………………... 4
4. Simulink……………………………………………..…………………………………………………………………………….. 5
5. Comandos utilizados en la Solución de las Prácticas………..……………………………………………….. 6

1
1. Introducción
MatLab es un acrónimo en inglés que significa Laboratorio de Matrices (Matrix Laboratory), es un
programa de cálculo numérico, simulación y visualización que integra análisis numérico, cálculo con
matrices, procesamiento de señales y gráficas.
Cuenta con paquetes de funciones especializadas llamadas Toolboxes, de los cuales para el desarrollo
de las prácticas se utiliza Simulink para la simulación de sistemas por medio de diagramas de bloques
y Symbolic para el uso de operaciones de cálculo simbólico, aunque sólo se usen esos dos no se debe
pasar por alto que existe una gran variedad de Toolboxes para control (Control system y Robust
Control), procesamiento de señales (Signal Processing), procesamiento de imágenes (Image
Processing), redes neuronales (Neural Network), y control no lineal (Nonlinear Control Design) entre
otros.
Para tener una idea más clara del uso de MatLab como herramienta en el análisis de sistemas y
señales se hará una breve introducción a los comandos básicos.

2. MatLab
2.1. Escritura en MatLab
La escritura de las funciones en MatLab obedece la estructura con que se escriben las funciones de
manera natural, también el manejo de éstas, ya que se leen de izquierda a derecha y de adentro hacia
afuera de los paréntesis, de manera que si se escribe:
5+j*3
El programa lee:
5+j3

2.2. Variables Especiales y Valores Preasignados


Como en todos los programas, existen variables preasignadas que responden a determinada forma o
valor, a menos que se les indique de otra manera, a continuación se muestran algunas de estas
variables preasignadas:

VARIABLE PREASIGNACIÓN
ans Respuesta o resultado
NaN Valor numérico no válido
inf Infinito
i, j Variable imaginaria
pi 
Tabla 2.1 Variables Especiales y Valores Preasignados

2.3. Comandos de uso General


Estos comandos afectan el programa desde la raíz y a cualquier nivel, sin modificar el funcionamiento
de los bloques de programación que se hayan desarrollado.

2
Algunos de estos comandos son:
VARIABLE ACCIÓN QUE EJECUTA
Ayuda general del programa, el comando help
seguido del nombre de un Toolbox o función
help
despliega la información de ayuda
directamente sobre estos temas
Busca una palabra en el contenido del
lookfor palabra
software
clc Limpiar pantalla
who, whos Lista las variables del espacio de trabajo
Borra el valor de las variables, cuando se usa
clear clear seguido del nombre de una variable
borra exclusivamente el valor de esa variable
Tabla 2.2 Comandos de uso General

2.4. Operadores Básicos


Los operadores básicos realizan funciones simples que ayudan al seguimiento de los programas y a la
realización de operaciones, algunos de estos operadores son:

OPERADOR OPERACIÓN
= Asignación
>>x Ver variable x
 Recuperar operación anterior, si se presiona
varias veces se recuperan las operaciones
anteriores en orden ascendente
+ Suma matricial
- Resta matricial
‘ Transpuesta conjugada
.’ Transpuesta no conjugada
* Producto matricial
.* Producto elemento a elemento
^ Potencia matricial
.^ Potencia de cada elemento de la matriz
/ División matricial
./ División elemento a elemento
\ División matricial izquierda
.\ División izquierda elemento a elemento
== Comparación de igualdad
 Comparación de desigualdad
> Comparación mayor que
< Comparación menor que
3
>= Comparación mayor igual que
<= Comparación menor igual que
& AND
I OR
 NOT
II OR directa
&& AND directa
X  : Formar columna a partir de una matriz
X  :, 2  Extraer una parte de una matriz
X  :, 2   y Sustituir una parte de una matriz
X  [ X ; y] Agregar renglones a una matriz
X  [ X , [3; 2;1; 7 ]] Agregar columnas a una matriz
X  :, 4   [ ] Eliminar columnas de una matriz
X  4, :   [ ] Eliminar renglones de una matriz
0:0.1:10 Generar un vector
; No mostrar el resultado de la operación
, Separar comandos o valores
Tabla 2.3 Operadores Básicos

2.5. Funciones Matemáticas Básicas


Las funciones básicas son las trigonométricas, exponenciales y logarítmicas, no todas las funciones
utilizadas en las prácticas se mencionan en la siguiente tabla, pero éstas se encuentran en los
capítulos y explicadas más detalladamente en la ayuda general de MatLab.

COMANDO FUNCIÓN
sin Seno
cos Coseno
tan Tangente
asin Seno inverso
atan Tangente inversa
exp Exponencial
log Logaritmo natural
log10 Logaritmo común
Tabla 2.4 Funciones Matemáticas Básicas

3. Symbolic
El Toolbox Symbolic permite el cálculo de integrales, derivadas, transformadas, etc., de manera
simbólica, esto es, es necesario definir las variables como simbólicas antes de empezar a operar sobre
ellas con las funciones y operadores, por lo que los resultados de las operaciones no tendrán un valor
numérico, sino, valores simbólicos de acuerdo con las variables definidas.

4
Algunos comandos que se encuentran dentro del Toolbox Symbolic son:

COMANDO FUNCIÓN
diff Diferenciación
int Integración
limit Cálculo de límites
taylor Expansión en serie de Taylor
jacobian Obtención de matriz Jacobiana
symsum Suma de series
simplify Simplificación de funciones
expand Expansión de funciones
Tabla 3.2 Comandos contenidos en Symbolic

4. Simulink
Simulink es el Toolbox que permite la simulación de sistemas por medio de diagramas de bloques, con
operaciones sobre variables continuas o discretas, se puede construir el sistema y visualizar su
comportamiento en cualquier punto del mismo.
Algunos grupos de Simulink son: continuo (Continuous) donde se encuentran bloques como
derivador, integrador y función de transferencia entre otros; operaciones matemáticas (Math
Operations), donde se encuentran los bloques de suma, multiplicación, ganancia, división y suma de
elementos entre otros; ruteo de señales (Signal Routing), donde se encuentra el bloque de
multiplexión, demultiplexión e interruptor manual entre otros; visualización (Sinks), donde se
encuentra el osciloscopio entre otros bloques; fuentes (Sources), donde se encuentran los bloques de
entrada escalón, rampa, onda senoidal, generador de señales y constructor de funciones entre otros.
Las entradas utilizadas pueden ser de tipo funciones singulares escalón y rampa, funciones senoidales,
exponenciales, trigonométricas, constantes, etc.
Cuenta además con un generador de señales del cual se pueden obtener señales cuadradas, señales
senoidales o triangulares; y un constructor de señales de manera que se puedan manejar las
características, magnitudes, desfasamientos, corrimientos y amplitudes de las señales con completa
libertad, construir señales periódicas, aperiódicas o compuestas por funciones singulares.
Existe también un bloque de entrada constante al que se le pueden dar valores escalares, vectoriales
o matriciales de acuerdo con el sistema que se simula.
Contiene bloques de suma como los que se utilizan en un diagrama de bloques común de sistemas,
por lo que los lazos de retroalimentación, las conexiones en serie y paralelo o sus combinaciones son
confiables.
El bloque de ganancia puede ser escalar, vectorial o matricial, toma la información de la salida del
bloque anterior y la multiplica por un factor de ganancia sin afectar otra característica de la señal.
Para la simulación de sistemas descritos por ecuaciones diferenciales se usa principalmente un bloque
integrador, cabe mencionar que las condiciones iniciales del sistema se indican precisamente en este
bloque.

5
Cabe mencionar que también cuenta con un bloque derivador, regularmente no se utiliza, ya que esta
operación de por sí genera cierto grado de inestabilidad en el comportamiento de los sistemas.
El osciloscopio muestra la señal en el punto o etapa del sistema donde se conecta, a diferencia de
muchos otros simuladores, su comportamiento no está idealizado, se apega al comportamiento típico
real de la mayoría de los elementos del sistema por lo que las lecturas desplegadas por el osciloscopio
son confiables y muy cercanas a lo que sucedería si se probara el comportamiento de los sistemas de
manera experimental.

5. Comandos utilizados en la Solución de las Prácticas


Para el análisis y solución de los problemas planteados en las prácticas, se utilizaron comandos
básicos de MatLab, todos los comandos se encuentran en la ayuda de MatLab, sin embargo, es
importante mencionarlos, su uso y algunos ejemplos para minimizar las dudas que se puedan generar.

abs(x)
Este comando calcula la magnitud de un valor dado do los elementos de una matriz, se utiliza en el
cálculo de espectros de magnitud de las señales:
x=3+j*2;
abs(x)
ans =
3.6056
angle(x)
Calcula la fase o argumento de una función o elementos de una matriz en radianes, se utiliza para el
cálculo de espectros de fase, en algunas versiones de MatLab se puede encontrar el comando
phase(x), que es equivalente en funcionamiento a angle(x), como no se encuentra en todas las
versiones, no se hace referencia a él para la solución de las prácticas; un ejemplo es:
x=3+j*2;
angle(x)
ans =
0.5880

Fourier(x)
Este comando que se encuentra en el Toolbox Symbolic permite obtener la transformada de Fourier
de una función definida en forma simbólica, es necesario hacer dos consideraciones, la definición
simbólica de las variables antes de realizar la conversión y el uso de señales acotadas en el tiempo,
por lo menos en uno de sus límites de manera que el cálculo no se realice de manera infinita ya que
esto genera errores de cálculo.

6
Un ejemplo del uso del comando fourier(x) es:
syms t
y=fourier(exp(-t^2))
y=
pi^(1/2)*exp(-1/4*w^2)

pretty(y)
pi1/2 exp(- 1/4 w2 )

Una observación importante es que la respuesta que entrega MatLab, de una transformada de
Fourier es en función de la frecuencia  , pero se puede definir no sólo la variable de entrada, sino
también la variable de salida, de tal manera que se supone una señal en función de x cuya salida se
requiere en función de y , se tiene entonces:
syms x y
y=fourier(exp(-x^2),x,y)
y=
pi^(1/2)*exp(-1/4*y^2)
pretty(y)
pi1/2 exp(- 1/4 y2 )

ifourier(x)
El comando ifourier(x) que se encuentra el Toolbox Symbolic calcula la transformada inversa de
Fourier de una función simbólica dada, la señal se puede definir directamente en función de la
frecuencia y la salida será en función de otra variable x , pero de la misma manera que en fourier(x)
se le pueden definir las variables de entrada y salida, un ejemplo de su uso es:
syms x w
y=ifourier(w*exp(-3*w)*sym('Heaviside(w)'))
y=
1/2/(-3+i*x)^2/pi
pretty(y)
1
1/2 --------------
(-3 + x I)2 pi

En este caso el comando Heaviside, es un escalón unitario que inicia en   0 , en el siguiente


ejemplo, la entrada será y y la salida será t ; además el escalón se plantea con corrimiento de 1:
syms t y
y=ifourier(y*exp(-3*y)*sym('Heaviside(y-1)'),y,t)
y=
1/2/pi*(4-i*t)/(i*t-3)^2*exp(i*t-3)

7
pretty(y)
(4 - t I) exp(t I - 3)
1/2----------------------------
pi (t I - 3)2

ilaplace(x)
El comando ilaplace(x) calcula la transformada inversa de Laplace, las mismas consideraciones que
fueron hechas para la transformada de Laplace deben hacerse. A continuación un ejemplo del uso de
la transformada inversa de Laplace, con la variación de definir las variables de entrada y salida, de
manera que las variables no serán las que MatLab usa por default, como se ha mostrado en otros
ejemplos:
syms y x w
r=y/(y^2 + w^2)
s=ilaplace(r,y,x)
s= cos(w*x)

imag(x)
El comando imag(x) calcula la parte imaginaria de un valor dado, un ejemplo del funcionamiento de
este comando es:
x=exp(j*5)+j*3+2;
y=imag(x)
y= 2.0411

int(x,t,a,b) ó int(x)
El comando int(x), que se encuentra en el Toolbox Symbolic, se utiliza para integrar simbólicamente
una función, de manera que x representa la función que se integrará, t es la variable respecto a la
que se realiza la integral, y los valores a y b son los límites inferior y superior de integración
respectivamente. La integral puede ser definida o no definida, un ejemplo cuando es definida es:
syms t
x=exp(t);
int(x,t,0,1)
ans = exp(1)-1

Un ejemplo cuando la integral es no definida es:


syms t ó syms t
x=exp(t); x=exp(t);
int(x,t) int(x)
ans = ans =
exp(t) exp(t)
8
laplace(x)
El comando laplace(x) tiene como resultado la transformada de Laplace de una función de una
variable simbólica, es necesario definir primero las variables que se involucrarán en el proceso por
medio de syms, luego definir la función que se transformará; la salida de una transformada de
Laplace calculada por medio de MatLab, por default tiene como variable de salida la variable
s . A continuación un ejemplo del uso de laplace:

syms t s
x=sin(3*t)
y=laplace(x)
y= 3/(s^2+9)
pretty(y)
__3__
s2 + 9

meshgrid(x)
Se usa para generar matrices con tantos renglones y tantas columnas como elementos tenga el
vector, los renglones contendrán los elementos del vector y las columnas contengan el mismo
elemento repetidamente, un ejemplo de una matriz generada con meshgrid es:
[n]=meshgrid(0:1:3)
n=
0 1 2 3
0 1 2 3
0 1 2 3
0 1 2 3

meshgrid(x,y)
Por otra parte se pueden generar dos matrices con meshgrid(x,y), de tal manera que tengan tantas
columnas como elementos tenga el primer vector y tantos renglones como elementos tenga el
segundo vector, en la primera matriz los elementos del primer vector se repiten como renglones, y en
la segunda matriz los elementos del segundo vector se repiten por columna.
Para ver esto:
[n,t]=meshgrid(0:1:2,0:1:5)
n= t=
0 1 2 0 0 0
0 1 2 1 1 1
0 1 2 2 2 2
0 1 2 3 3 3
0 1 2 4 4 4
0 1 2 5 5 5

9
Al aplicar este comando y obtener dos matrices de dimensiones iguales, la evaluación de sus valores
en una función de dos variables genera una matriz cuadrada que toma los valores obtenidos de
evaluar cada n y cada t en la función, por ejemplo:
s=t.*n
s=
0 0 0
0 1 2
0 2 4
0 3 6
0 4 8
0 5 10

Cabe mencionar que estas operaciones deben hacerse elemento a elemento o se debe transponer
una de las dos matrices para que sus dimensiones correspondan.
Para poder graficar los valores que se obtienen de esta operación, es necesario transponer la matriz
resultado, ya que la suma se realiza sobre los elementos de cada columna y lo que se requiere es el
valor de la suma de cada renglón.
Para obtener la gráfica de una serie de Fourier se puede usar el siguiente ejemplo:
[n,t]=meshgrid(1:2:4,0:0.1:2*pi);
p=(-12./(j*n*pi)).*exp(-j*2*n.*t);
x=sum(p');
plot(t(:,1),x);

plot(x,y)
El comando plot(x,y) grafica dos vectores, uno en relación con el otro, lo que se conoce como la gráfica de una
función ya que toma los valores de la variable independiente x , contenidos en un vector previamente definido
y los relaciona con los valores obtenidos de un vector y , que se pueden calcular por medio de una función de
x previamente definida, une los puntos para dibujar una curva continua en el plano cartesiano otorgando a x
la abscisa y a y la ordenada. Para copiar la gráfica como una imagen, del menú Edit se toma la opción Copy
Figure y copia con todas sus características.
El comando plot(x,y) presenta la facilidad de manipular las gráficas que se generan hasta cierto punto,
por ejemplo se puede modificar la forma, color y grosor de la línea o líneas que representan la curva y
agregar marcadores; escribiendo estos atributos directamente sobre la descripción de plot(x,y).
Se puede también modificar el tamaño de los ejes por medio de comando axis, agregar cuadrícula al
plano por medio del comando grid, agregar leyendas a los ejes por medio de xlabel y ylabel; agregar
un titulo a las gráficas por medio de title; en este caso existen caracteres especiales que permiten
agregar superíndices  y subíndices _ tomando en cuenta que estos caracteres sólo convierten el
siguiente caracter y hay que agregar uno por cada caracter que se desee convertir, además brinda la
opción de mostrar símbolos como: \in=  , \omega=  , \pi=  , \theta=  , etc. Además se puede
modificar el tamaño de la letra del título usando \fontsize{x}.

10
Para dar un ejemplo se tiene:
t=0:0.1:2*pi;
x=sin(t);
plot(t,x,'k-.','LineWidth',4)
axis([0 2*pi -1.2 1.2])
grid
xlabel('Tiempo [seg]')
ylabel('f(t)')
title('\fontsize{14} Gráfica de f_1(t)=sen(t), \omega_0=1')

La letra k cambia el color de la línea a negro, el símbolo -. Modifica el tipo de línea, el comando
LineWidth modifica el grosor de la línea a 4 puntos; dentro del comando axis, los valores
corresponden a xmin, xmax, ymin y y max respectivamente. Todas estas modificaciones se pueden
realizar también a los comandos stem y polar. La grafica obtenida es la siguiente:

Gráfica de f 1(t)=sen(t),  0=1

0.8

0.6

0.4

0.2
Amplitud

-0.2

-0.4

-0.6

-0.8

-1

0 1 2 3 4 5 6
Tiempo [seg]

Figura 5.1 Aplicación de Modificaciones a comando plot(x,y)

plot(x1,y1, x2,y2)
En las secciones 1.5 y 2.4 se ha visto el funcionamiento del comando plot(x), ahora se explicará que usado de
esta manera permite visualizar dos funciones diferentes en el mismo plano, estas curvas se pueden modificar
por separado como se menciono anteriormente basta con anotar las cualidades de cada curva delante de los
vectores que describen la curva, y todos los comandos para definir las características de la gráfica se utilizan de
la misma manera. Otra manera de visualizar dos curvas en el mismo plano es con el comando hold que
mantiene toda la información de la primera curva que se grafica en el plano dónde se grafica una segunda
curva. Para visualizar dos planos cartesianos en la misma ventana se usa el comando subplot(a,b,c), donde a y
b describen una matriz de posiciones en las que se ubicarán los planos y c es la posición del plano en la
ventana. Para identificar las curvas en los planos se utiliza el comando legend(‘d’,’e’) donde ‘d’ es la
descripción de la primera curva, ‘e’ la descripción de la segunda curva y así sucesivamente; la ubicación de la
leyenda dentro o fuera del plano cartesiano se define con la instrucción location seguida de la ubicación. Se
pueden agregar a un plano tantas curvas como se desee, siempre que no se pierda la visibilidad de las curvas.

11
Para ver cómo actúan estos tres comandos se tiene:
t=-2*pi:0.1:2*pi;
t1=-pi:0.1:pi;
w=sin(t);x=cos(t);
y=tan(t1);
z=cot(t1);
subplot(1,2,1), plot(t,w);
hold
subplot(1,2,1), plot(t,x, 'g');
title('\fontsize{12} Gráficas de f(t) trigonométricas');
xlabel('Tiempo');
ylabel('f(t)');
axis([0 2*pi -1.2 1.2]);
legend('sen(t)','cos(t)','location','North');
grid;
subplot(1,2,2), plot(t1,y,'r',t1,z,'k');
title('\fontsize{12} Gráficas de f(t) trigonométricas');
xlabel('Tiempo');
ylabel('f(t)');
axis([-pi pi -35 35]);
legend('tan(t)','cot(t)','location','North');
grid;

Gráficas de f(t) trigonométricas Gráficas de f(t) trigonométricas

sen(t) 30 tan(t)
1
cos(t) cot(t)
0.8
20
0.6

0.4
10
0.2
f(t)

f(t)

0 0

-0.2
-10
-0.4

-0.6
-20
-0.8

-1 -30

0 1 2 3 4 5 6 -3 -2 -1 0 1 2 3
Tiempo Tiempo

Figura 3.4 Dos Planos Cartesianos en Una Ventana Conteniendo Dos Curvas Cada Uno
a la Derecha usando hold y a la Izquierda usando plot(x1,y1,x2,y2)

polar(x,y)
El comando polar sirve de la misma manera que plot para desplegar gráficas de funciones, pero éstas
se presentan en el plano polar, es decir, sirve para observar el comportamiento de señales complejas
en función de su magnitud y fase, en este caso x es la fase y y corresponde a la magnitud con que se
12
posicionan los puntos dentro del plano complejo. Para mostrar el comportamiento de este comando
se muestra la siguiente figura:
t=-1.2:0.1:1.2;
x=sin(t*pi/2)+j*tan(t);
polar(angle(x),abs(x))

90
3
120 60

150 30

180 0

210 330

240 300

270

Figura 5.3 Gráfica Polar en el Plano Polar

pretty(x)
El comando pretty(x) que se encuentra en el Toolbox Symbolic se utiliza para llevar una expresión que
inicialmente estaba escrita “en línea” para presentarla de manera algebraica; se utilizó en todos los
ejemplos anteriores para presentar de manera más adecuada las respuestas obtenidas de las
operaciones efectuadas, otro ejemplo de pretty(x) es:
syms t
x=(cos(t)^2)*sin(t)
x=
cos(t)^2*sin(t)
pretty(x)
2
cos(t) sin(t)

Para el desarrollo de la práctica se utiliza únicamente Simulink de MatLab, pero es posible calcular la
transformada de Laplace de las señales desde MatLab utilizando el Toolbox Symbolic.
rand(n,m)
Este comando genera una matriz de valores aleatorios, con n renglones y m columnas, tantas veces
como se genere la matriz los valores cambiarán, ya que no responden a una función determinística.

13
Un ejemplo de cómo se ve la matriz generada es:
Primera corrida de rand(n,m) Segunda corrida de rand(n,m)
rand(2,2) rand(2,2)
ans = ans =
0.9501 0.6068 0.8913 0.4565
0.2311 0.4860 0.7621 0.0185

real(x)
El comando real(x) calcula la parte real de un valor complejo, un ejemplo del funcionamiento de este
comando es:
x=7/2*pi+j*6;
y=real(x)
y=
10.9956

stem(x,y)
Este comando presenta un comportamiento semejante a plot, con la variación de desplegar gráficas
discretas, esto es se genera un vector de puntos en función de un vector definido para una variable
independiente, pero los puntos no se unen formando una curva, si no que se presentan como
impulsos respetando la forma de onda. Para dar un ejemplo se tiene la siguiente figura:
t=0:pi/8:2*pi;
x=sin(t);
stem(t,x)

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
0 1 2 3 4 5 6 7

Figura 5.4 Gráfica Discreta en el Plano Cartesiano

14
sum(x)
El comando sum(x) aplicado directamente sobre una matriz, suma el valor de los elementos de cada
columna de la matriz, en este caso ayuda a calcular las sumatorias utilizadas en la representación de
series de Fourier de las señales, un ejemplo es:
[n]=meshgrid(0:1:3)
n=
0 1 2 3
0 1 2 3
0 1 2 3
0 1 2 3
sum(n)
ans =
0 4 8 12

syms
El comando syms, que se encuentra en el Toolbox Symbolic, tiene como finalidad definir variables
simbólicas para el cálculo simbólico de operaciones matemáticas, como integración, derivación,
obtención de transformada de Fourier y Laplace, etc., por ejemplo para definir la variable tiempo
como una variable simbólica, es decir sin valor definido, se usa:
syms t

Simulink
Simulink es un Toolbox de MatLab de uso específico para la simulación del comportamiento de
sistemas, permite una variedad virtualmente infinita de operaciones, interconexiones y diagramas
que le dan la capacidad de simular prácticamente cualquier sistema representado en EDOL. Algunos
bloques usados son:
 Bloque de entrada, existen bloques que simulan escalones (Step), rampas (Ramp), funciones
periódicas como el seno (Sine Wave) o trenes de pulsos (Signal Generator), etc. En estos
bloques se puede modificar su amplitud, fase, frecuencia y corrimientos, si es que existen,
para definir las señales de entrada correctamente.

 Otro bloque de entrada que permite modificar prácticamente todas las características de las
señales es el constructor de señales (Signal Builder), en éste algunos puntos de las señales son
móviles, lo que permite modificar la señal fácilmente.
Cuando las señales presentan corrimientos a la izquierda, es entendible que la simulación
deba verse en tiempo menor a cero, para hacer esto se fija el tiempo de simulación en el

15
constructor de señales y de manera global en Simulink para que las lecturas sean
homogéneas.

 Se usa el bloque integrador (Integrator), que tiene como entrada cualquier señal y como salida
la integral de dicha señal, si existen condiciones iniciales en el sistema se incluyen en este
bloque.

 Hay también un bloque derivador (Derivative), tiene como entrada cualquier señal y como
salida la derivada de dicha señal, la mayoría de las operaciones de derivación inyectan cierto
grado de inestabilidad a los sistemas, por lo que se busca usar este bloque lo menos posible.

 Existen bloques de operaciones aritméticas simples: suma y producto que relacionan dos
señales por medio de estas operaciones y tienen como salida el resultado de la operación
correspondiente.

 El bloque de ganancia (Gain) amplifica la señal por factores que pueden ser escalares, vectores
o matrices.

 El bloque osciloscopio (Scope) ayuda a observar lo que sucede en el sistema, se conecta


directamente a los puntos del sistema cuyo comportamiento se desea conocer y en la
ventana se observan estas señales, se puede conectar más de un punto al osciloscopio y ver
dos o más canales en la misma ventana.

Es importante mencionar que no existe un bloque de impulso unitario en Simulink, por lo que si se
desea simular in sistema LIVT con una entrada impulso unitario, recordando que la derivada de la
salida de un sistema a un escalón unitario es la salida del sistema a un impulso unitario, se puede

16
simular el sistema con una entrada escalón unitario y derivar la salida para conocer la respuesta a un
impulso unitario.
Para ejemplificar el funcionamiento de este Toolbox se muestra el diagrama de un sistema simulado y
la lectura obtenida del osciloscopio:
La ecuación diferencial del sistema simulado es:
 2
2
1
y  y  
  y  x (t )
2  4 

Figura 5.5 Diagrama de Bloques de Simulación Figura 5.6 Lectura de la Respuesta del Sistema de
de un Sistema de Segundo Orden Segundo Orden a una Entrada Escalón Unitario

Simulink cuenta con bloques para el manejo de señales continuas, discontinuas y discretas, pero cabe
mencionar que no se pueden simular funciones de la frecuencia ni señales representadas por series
de Fourier ya que el osciloscopio representa funciones cuya única variable es el tiempo, por lo que si
se desea simular un sistema, es necesario conocer su función del tiempo, es mucho más sencillo si se
toma la ecuación diferencial que representa el sistema ya que se usan los bloques de derivación e
integración para construir el diagrama de bloques.
Para la simulación de sistemas, utilizando la representación de la transformada de Laplace, se
considera que los bloques son:
 El bloque de entrada, el bloque de suma, bloques de ganancia, ya sea en lazo directo o en
retroalimentación, y el osciloscopio.
 Los bloques de integración que se ocupan generalmente para representar la ecuación
diferencial del sistema, se pueden sustituir por un sólo bloque que contenga la función de
transferencia (Transfer Fcn) del sistema.

17
 Si se quiere simular un sistema LIVT a una entrada impulso unitario, recuerde que la salida de
un sistema a un impulso unitario es la derivada de la salida del sistema a un escalón unitario.
En términos de la función de transferencia, esto se puede implementar en Simulink de otra
forma: se multiplica la función de transferencia por s , se simula esta nueva función de
transferencia a una entrada escalón unitario, y la salida obtenida es la salida a un impulso
unitario.
Para dar un ejemplo del uso de estos bloques con una función de transferencia se tiene la siguiente
simulación:

Figura 5.7 Diagrama de Bloques del Sistema Simulado Figura 5.8 Arriba: Señal de entrada del sistema
Abajo: Señal de salida del sistema

18

You might also like