Está en la página 1de 106

Fundamentos Básicos

de Matlab

-LCA-

Fundamentos de informática FRRO


Mi nombre es:

Arce, Gerardo.
Clases:

8
1 Teoría – Matlab & Simulink.
3 Practica – Matlab.
3 Practica – Simulink.
1 Consulta del TPF.
Como regularizar:
 Entregar todas las prácticas.
–9 de Matlab.
–5 de Simulink.
 Presentarel TPF y defenderlo (individual).
 Responder de 5 a 8 preguntas teóricas.

Todo en un tiempo menor a 10min ya que todos


tienen derecho a rendir el mismo día.
Practicas de Matlab:
 Nº 1: Manejo de Matrices.
 Nº 2: Manejo de Números Complejos.
 Nº 3: Manejo de Archivos *.M
 Nº 4: Programación (Resolución de sistema 3x3).
 Nº 5: Programación (Ley de OHM).
 Nº 6: Programación (De tabla papel a digital).
 Nº 7: Programación (Maximización de las utilidades).
 Nº 8: Programación (Resolución de 2 mallas eléctricas).
 Nº 9: Programación (Utilizando la herramienta creada en
la práctica Nº 6, resolver 3 curvas).
Practicas de Simulink:
 Nº 1: Calculo de desfasage.
 Nº 2: Máxima resistencia.
 Nº 3: Maximización de área.
 Nº 4: Diagrama de M y Q (Sistema simétrico).
 Nº 5: Diagrama de M y Q (Sistema asimétrico).
Trabaja Practico Final (TPF) :
 Es individual y único (No hay grupos).
 Se deberá resolver el problema que se
plantea.
 Entregar una memoria de calculo
similar a la que se expresa en las
practicas.
Teoría:
 Eldía de la entrega del TPF además de
defenderlo y presentar todas las
practicas se deberá rendir teoría.
 Contestar rápidamente de 5 a 8
preguntas teóricas que abarcan todo lo
dado.
Recuperatorio:
 Enel caso de fallar en cualquiera de
las 3 pautas.
– Practicas. + (Preguntas)
– TPF. + (Defensa) + (WORD)
– Teoría. (de 5 a 8 preguntas)
 En el recuperatorio solo se le tomará
lo fallo o que falto.
¿Qué es Matlab?

 Una herramienta para hacer cálculos matemáticos


que utiliza como elemento básico la matriz.
 Un lenguaje de programación:
– interactivo: órdenes
– avanzado pero fácil de utilizar: archivos.m
 Plataforma de desarrollo: toolboxes
Ventajas del Matlab

 Su programación requiere menos tiempo que


otros lenguajes como FORTRAN, C, Pascal, etc.
 Utiliza un lenguaje más cercano a la
matemática.
 Permite definir fácil y rápidamente nuevas
funciones que se incorporan a Matlab (mediante
el toolboxes)
 Grandes capacidades gráficas.
¿Qué se puede realizar?
 Análisis de datos
 Polinomios

 Gráficos 2D

 Gráficos 3D (No vamos a llegar a dar).

 Ajuste de curvas

 Interpolación

 Análisis numérico
Espacio de trabajo

 Al ejecutarse Matlab se crea una ventana de trabajo


que corresponde al lugar desde donde se
interacciona con Matlab:
– El símbolo » denota que se esta esperando una orden
 Matlab recuerda las órdenes ya dadas y los valores
de cualquier variable (en el espacio de trabajo):
– recordar órdenes previas:  y . Editar: y 
– recordar variables: escribir su nombre
Espacio de trabajo

 Funciones para el manejo de las variables en el


espacio de trabajo:
– who lista las de las memorias del espacio de trabajo
– whos lista las memorias del espacio de trabajo con
información de su tamaño
– save almacena las memorias en un archivo de
extensión *.mat
– load recupera variables almacenadas en el disco
– clear borra las variables del espacio de trabajo
Funciones básicas

Suma: +
resta: -

multiplicación: *

división: \ ó /

potencia: ^
Comentarios útiles

 Evalúa expresiones de izquierda a derecha:


– 1º potencias, 2º multiplicaciones y divisiones, y 3º sumas y
restas.
 Nombres de variables o memorias:
– Siempre debe comenzar con una letra, seguidas de letras o
números si se lo desea.
– Sólo se recuerdan los primeros 17 dígitos de una memoria.
– Distingue mayúsculas y minúsculas
 ; al final de línea no imprime el resultado.
 A partir del símbolo % se considera comentario.
Comentarios útiles

 ans almacena el resultado por defecto

 Si una orden es demasiado larga, se escriben ...


seguido de enter para continuar en la siguiente
línea, no en todos los casos es posible usar este
comando.
 Matlab se interrumpe con ctrl-c

 Matlab se cierra con el comando quit


Variables predefinidas
 ans Nombre de la variable por defecto usado en los
resultados
 pi Número 
 eps El más pequeño de los números que al sumarle 1
da un número en coma flotante mayor que 1
 inf Infinito
 NaN Indefinido
 i,j i=j=sqrt(-1)
 realmin Número real positivo más pequeño que se
puede usar 2.2251e-308
 realmax Número real positivo más grande que se
puede usar 1.7977e+308
Formatos de visualización
Comando Ejemplo Comentario
format long 35.83333333333334 16 dígitos
format short e 3.5833e+01 5 dígitos mas exponente
format long e 35.83333333333334e+01 16 dígitos mas exponente
format hex 4041eaaaaaaaaab hexadecimal
format bank 35.83 2 dígitos decimales
format + + positivo, negativo o cero
format rat 215/6 aproximación racional
format short 35.8333 visualización por defecto
Características Científicas
 Funciones matemáticas

 Números complejos
Funciones matemáticas
abs(x) Valor absoluto
acos(x) Arcocoseno
acosh(x) Arcocoseno hiperbólico
angle(x) Angulo de complejos
asin(x) Arcoseno
asinh(x) Arcoseno hiperbólico
atan(x) Arcotangente
atanh(x) Arcotangente hiperbólica
ceil(x) Redondeo hacia +
conj(x) Complejo conjugado
cos(x) Coseno
cosh(x) Coseno hiperbólico
exp(x) Exponencial e1=2.71
log (x) Logaritmo neperiano
Funciones matemáticas
fix(x) Redondeo hacia cero
floor(x) Redondeo hacia menos infinito
imag(x) Parte imaginaria compleja
log10(x) Logaritmo común
real(x) Parte real compleja
rem(x,y) Resto de la división (resto al dividir x/y)
round(x) Redondeo al entero más cercano
sign(x) Función signo
sin(x) Seno
sinh(x) Seno hiperbólico
sqrt(x) Raiz cuadrada
tan(x) Tangente
tanh(x) Tangente hiperbólica
Números complejos
 Solve
– es una función que resuelve sistemas del tipo
x^3+2*x^2+3*x+x+5=0
 El
número imaginario puro se representa por i
oj
– Cualquier número seguido de i representa un número
imaginario
 Hay funciones específicas para su manejo:
– real(x)
– imag(x)
– conj(x)
– angle(x),, etc.
Manejo de arrays
 Arrays simples
 Direccionamiento de arrays
 Construcción de arrays
 Funciones con arrays
 Matemáticas de arrays con escalares
 Matemáticas entre arrays
 Orientación del array
 Resumen de operaciones con arrays
Arrays simples

 Para crear un array en Matlab:


– Comienza por un corchete de apertura [
– Los valores separados por espacios o por
comas
– Finaliza con un corchete de cierre ]
 Ejemplo:

– x = [23 45 12 2+3i -2i]


Direccionamiento de arrays
 Para acceder a elementos
individuales se utilizan subíndices
entre paréntesis
 Ejemplo:
–» x = [1 2 3;4 5 6;7 8 9]
–» x(2,3) ans
= 8
–» x(6) ans
= 8
Direccionamiento de arrays
 Para direccionar un bloque de elementos, Matlab
proporciona la notación de dos puntos:
primero:incremento:último
 Ejemplo:
– » x = [1 2 3;4 5 6;7 8 9]
– x(2:6)
ans =
4 7 2 5 8
– x(2:2:6)
ans =
4 2 8
Direccionamiento de arrays
 Para direccionar elementos aislados se
utiliza un array de índices
 Ejemplo:
– » x=[23 45 12 2+3i -2i 32 12];
» x([4 1 2])
ans =
2+3i 23 45
» x([1 4 7])
ans =
23 2+3i 12
Construcción de arrays
 Existen varias formas de crear
arrays
– Notación de dos puntos
– Función linspace
linspace(primero,último,nºvalores)
– Función logspace
logspace(expo1,expo2,nºvalores)
Funciones con arrays
 Las funciones se aplican a los elementos
individuales de los arrays
 Ejemplo:
– » x = [0 pi/4 pi/2 3*pi/4 pi]
– » sin(x)
ans =
0 0.7071 1.0000 0.7071 0.0000
– » cos(x)
ans =
1.0000 0.7071 0.0000 -0.7071 -1.0000
Operaciones de arrays con escalares
 La suma, resta, multiplicación y división
por un escalar simplemente aplica la
operación a todos los elementos del array
 Ejemplo:
– » x = [1 2 3 4 5 6];
– » 4*x-7
ans =
-3 1 5 9 13 17
Operaciones entre arrays
 Cuando dos arrays tienen la misma
longitud, la suma y la resta se aplican
sobre la base de “elemento a elemento”
 Para multiplicar o dividir dos arrays
“elemento a elemento” se utilizan los
operandos:
.* , ./ y .\ ejemplo: (a./b=b.\a)
 Para la potencia “elemento a elemento”
se utiliza .^
Resumen de operaciones con arrays
 a=[a1 ... an], b=[b1 ... bn], c=escalar
Suma con un escalar a+c = [a1+c a2+c ... an+c]
Multiplicación por un a*c = [a1*c a2*c ... an*c]
escalar
Suma de arrays a+b = [a1+b1 a2+b2 ... an+bn]
Multiplicación de arrays a.*b = [a1*b1 ,a2*b2 ...
an*bn]
División por la derecha a./b = [a1/b1 a2/b2 ... an/bn]
de arrays
División por la a.\b = [a1\b1 a2\b2 ... an\bn]
izquierda de arrays
Potencias de arrays a.^c = [a1^c a2^c ... an^c]
c.^a = [c^a1 c^a2 ... c^an]
a.^b = [a1^b1 a2^b2 ... an^bn]
Álgebra matricial
 Álgebra matricial

 Manipulación matricial

 Matrices especiales
Álgebra matricial
 Matlab originariamente fue diseñado para simplificar el
cálculo del álgebra lineal
 Para definir una matriz se distinguen las filas por ; o se
introduce enter
 A.’ es la matriz transpuesta de A
 A’ es la traspuesta conjugada de A
 det(A) calcula el determinante de A
 inv(A) es la inversa de A
 rank(A) devuelve el rango de la matriz A
 norm(A) calcula la normal de A
 poly(A) obtiene el polinomio característico de la matriz A
Manipulación matricial
 Los elementos de una matriz se
indican con su fila y columna:
A(columna, fila)
 Con los dos puntos (:) se puede
seleccionar toda la fila o columna:
A(:,1), B(2,:)
 find(x) transforma una matriz en una
sucesión de valores del tipo columna.
 size(x) devuelve el tamaño en filas y

columnas.
Matrices especiales
 Matriz de ceros: zeros(n,m)
 Matriz de unos: ones(n,m)

 Matriz aleatoria con distribución


uniforme (entre 0 y 1): rand(n,m)
 Matriz aleatoria con distribución
normal (media 0 y varianza 1):
randn(n,m)
 Matriz identidad: eye(n)
Operaciones y funciones

 Operaciones relacionales

 Operaciones lógicos

 Funciones relacionales y lógicas


Operadores relacionales
 Efectúan la comparación, elemento a elemento, entre
dos matrices y dan como resultado una matriz cuyos
elementos son 1 si la relación es cierta y 0 si es falsa.

Operador Descripción
< Menor que

<= Menor que o igual a

> Mayor que

>= Mayor que o igual a

== Igual a

~= No igual
Operadores lógicos

 Operadores lógicos:
Operador Descripción
& AND
| OR
~ NOT
Funciones relacionales y lógicas
Función Descripción

xor(x,y) Compara las matrices x e y luego genera una


nueva matriz, en donde coloca 1 en donde
los valores coinciden y 0 donde son
diferentes
any(x) Devuelve cero si todo un vector columna
esta formado por ceros
all(x) Devuelve cero si existe por lo menos un cero
en el vector columna
isnan(x) Devuelve 1 en la posición de la matriz x
donde se encuentra un NaNs y 0 los otros.
isinf(x) Devuelve 1 en la posición de la matriz x
donde se encuentra un Infs y 0 los otros.
finite(x) Devuelve 1 en la posición de la matriz x
donde se encuentra un numero finito y 0 los
otros.
Archivos .m
 ¿Qué son?
 ¿Para qué sirven?
 Tipos de archivos.m
 Características de funciones
 Ejemplo de función
 Pasos que sigue Matlab
¿Qué son?
 Matlab permite crear funciones nuevas
en forma de archivos con extensión
*.m y almacenados
 Un archivo *.m es una secuencia de
órdenes de Matlab que puede contener,
incluso, referencias a otros archivo *.m
 Los archivo *.m son textos ASCII
creados con cualquier editor o
procesador de texto
¿Para qué sirven?
 Automatizar secuencias de órdenes que
se utilizan de forma repetitiva
 Proporcionar extensibilidad a Matlab
con la posibilidad de añadir nuevas
funciones cuya utilización no difiere de
las que incluye originalmente 
Toolbox
Tipos de archivos *.m
 Archivos predefinidos:
– Seno
– Coseno
– Tangente
– etc…
 Archivos propios:
– Son un compendio de funciones
predefinidas ya sea matrices, vectores,
senos, cosenos, etc. que generan un
programa nuevo y especifico
Características de funciones
 El nombre de la función y del archivo
debe ser el mismo
 Esta se ejecuta desde el entorno de
Matlab por primera vez
 Son capaces de generar programas
emergentes y trabajar en un entorno
fuera del Matlab para nosotros pero los
cálculos siguen siendo ejecutados
dentro del Matlab
Pasos que sigue Matlab
 Al dar por ejemplo, la orden: matlab
– Comprueba si matlab es una variable
– Comprueba si matlab es una función de
Matlab
– Busca en el actual directorio si existe un
archivo con el nombre matlab.m
– Busca, en los directorios especificados en
la variable path, el archivo matlab.m
– Por ultimo lo ejecuta
Control de flujo

 Bucle for

 Bucle while

 Estructuras if-else
Bucle for
 La forma general es:
– for n=1:5
x(n)=n*2
end
– Los
Los comandos
comandos entre
entre las
las sentencias for y
sentencias for end se
y end se ejecutan
ejecutan una
una vez
vez
hasta
hasta llegar
llegar aa su
su fin
fin pudiendo
pudiendo también
también utilizar
utilizar una
una matriz
matriz como
como
rango
rango de
de evaluación
evaluación
– Resultado:
Resultado:
xx =
=
22
xx =
=
22 4
4
xx =
=
22 4
4 6
6
xx =
=
22 4
4 6
6 8
8
xx =
=
22 4
4 6
6 8
8 10
10
Bucle while
 La forma general es:
while “expresión de veracidad”
“comandos”
end
 Los“comandos” entre las
sentencias while y end se ejecutan
mientras todos los elementos a
evaluar sean verdaderos
Ejemplo de Bucle while
Resultado:
x=
»n=1; 6
n=
» while n<6 2
x=
x(n)=n*6; n=
6 12

n=n+1; x=
3

6 12 18
end; n=
4
x=
6 12 18 24
n=
5
x=
6 12 18 24 30
n=
6
Estructuras if-else-end
 La forma general es:
if “expresión”
“comandos”,“resultado”
end
 También
if “expresión Nº1”
“comandos Nº1”,“resultado Nº1”
elseif “expresión Nº2”
“comandos Nº2”,“resultado Nº2”
else
“comandos Nº3”,“resultado Nº3”
end
Ejemplo Estructuras if-else-end
a  Tolerancia ±0.25 [Watts]
k  Potencia que dicipa la recistencia [Watts]
p  Potencias
a=0.25
k=1
p=1.5
if p<=k-a,s='Funciona Bien'
elseif k-a<p&p<k+a,s='Funciona en el limite'
elseif p>=k+a,s='Se Quema'
end
Polinomios

 Polinomios

 Funciones para polinomios


Polinomios

 Los polinomios en Matlab son


representados por vectores filas
conteniendo los coeficientes en
orden decreciente
 Ejemplo: x44 - 12x33 + 0x22 + 25x
+116

p=[1 -12 0 25 116]


Funciones para polinomios
 Raíces del polinomio: roots(p)
 Polinomio asociado a unas raíces: poly(p)

 Multiplica dos polinomios: conv(p1,p2)

 Divide dos polinomios: deconv(p1,p2)

 Cálculo de derivadas: polyder(p)

 Evaluación de polinomios: polyval(p,n)

 Desarrollo en fracciones parciales:


residue(p)
Gráficos 2D
 Comando plot
 Tipos de líneas y colores
 Añadir rejillas y etiquetas
 Gestión de los ejes
 Manipulando gráficos 2D
 Otros tipos de gráficos 2D
Comando plot
 Es el comando más utilizado para
gráficos en 2D
 Representa gráficamente conjuntos
de arrays de datos:
– Elige automáticamente los ejes
apropiados
– Por defecto, conecta los datos mediante
líneas rectas
Ejemplo del comando plot
• Dibujar la función y=sin(x) en donde x es un array distrubuido
uniformemente ente 30 valores de [0 a 2]

» x=linspace(0,2*pi,30)
» y=sin(x)
» plot(x,y)
Ejemplo de superposición de graficas
• Dibujar la función y=sin(x) y z=cos(x)
» x=linspace(0,2*pi,30)
» y=sin(x)
» z=cos(x)
» plot(x,y,x,z)

o tambien
» x=linspace(0,2*pi,30)
» y=sin(x)
» z=cos(x)
» W=[y;z]
» plot(x,W)
Tipos de líneas y colores
 Colores  Tipos de líneas
–y Amarillo –. Puntos
–m Magenta –o Círculos
–c Cyan –x Marcas x
–r Rojo –+ Marcas +
–g Verde –* Marcas *
–b Azul –- Línea continua
–w Blanco –: Línea punteada
–k Negro – -. Líneas y puntos
– -- Líneas discontinuas
Ejemplo de colores y linas
• Dibujar la función y=sin(x) y z=cos(x)
» x=linspace(0,2*pi,30)
» y=sin(x)
» z=cos(x)
» plot(x,y,'r*',x,z,'b:')
Añadir rejillas y etiquetas
 Añadir rejillas: grid
 Etiquetar eje x: xlabel(‘texto’)

 Etiquetar eje y: ylabel(‘texto’)

 Añadir título: title(‘texto’)

 Texto en un punto especifico :


text(x,y,’texto’)
 Texto en un punto especifico determinado
por el MOUSE: gtext(‘texto’)
 Leyenda: legend(‘var1’,....,’varn’)
Ejemplo de rejillas y etiquetas
• Dibujar la función y=sin(x) y z=cos(x)
» x=linspace(0,2*pi,30)
» x=linspace(0,2*pi,30);
» y=sin(x);
» plot(x,y);
» z=cos(x);
» plot(x,y,'r*',
x,z,'b:',2/3*pi,
sin(2/3*pi),'mo')
» grid
» xlabel('Intervalo 2 Pi')
» ylabel('valores de Seno y Coseno')
» title('SENO y COSENO')
» text(2/3*pi,sin(2/3*pi),' (2.09,0.87)')
» legend('Seno','Coseno')
Comandos de programación

 BOTONES (PUSHBUTTONS)
 BOTONES DE SELECCIÓN (CHECK BOXES)
 TEXTO (LABEL)
 BOTONES DE OPCIÓN (RADIO BUTTONS)
 BARRAS DE DESPLAZAMIENTO (SCROLLING BARS O SLIDERS)
 CAJAS DE SELECCIÓN DESPLEGABLES (POP-UP MENUS)
 CAJAS DE TEXTO EDITABLES (EDITABLE TEXTBOXES)
 MARCOS (FRAMES)
BOTONES (PUSHBUTTONS)

 Funcion:
boton_calculo =
uicontrol(gcf,...
'Style','push',...
'Position',[10 10 100 25],...
'String','Calcular',...
'CallBack','a+b');
BOTONES DE SELECCIÓN (CHECK BOXES)
a=0,b=0,c=0,d=0,e=0,f=0,
a=0,b=0,c=0,d=0,e=0,f=0,
Box_01
Box_01 = = uicontrol(gcf,...
uicontrol(gcf,...
'Style','checkbox',...
'Style','checkbox',...
'Units','normalized','Position',[0.4
'Units','normalized','Position',[0.4 0.600
0.600 0.25
0.25 0.05],...
0.05],...
'String','valor
'String','valor $5',...
$5',...
'CallBack',['a=b;if
'CallBack',['a=b;if a==0,b=5;else
a==0,b=5;else a==5,b=0;end;b']);
a==5,b=0;end;b']);

Box_02
Box_02 = = uicontrol(gcf,...
uicontrol(gcf,...
'Style','checkbox',...
'Style','checkbox',...
'Units','normalized','Position',[0.4
'Units','normalized','Position',[0.4 0.550
0.550 0.25
0.25 0.05],...
0.05],...
'String','valor
'String','valor $4',...
$4',...
'CallBack',['c=d;if
'CallBack',['c=d;if c==0,d=4;else
c==0,d=4;else c==4,d=0;end;d']);
c==4,d=0;end;d']);

Box_03
Box_03 = = uicontrol(gcf,...
uicontrol(gcf,...
'Style','checkbox',...
'Style','checkbox',...
'Units','normalized','Position',[0.4
'Units','normalized','Position',[0.4 0.500
0.500 0.25
0.25 0.05],...
0.05],...
'String','valor
'String','valor $10',...
$10',...
'CallBack',['e=f;if
'CallBack',['e=f;if e==0,f=10;else
e==0,f=10;else e==10,f=0;end;f']);
e==10,f=0;end;f']);

boton_calculo
boton_calculo = = uicontrol(gcf,...
uicontrol(gcf,...
'Style','push',...
'Style','push',...
'Units','normalized','Position',[0.4
'Units','normalized','Position',[0.4 0.450
0.450 0.25
0.25 0.05],...
0.05],...
'String','Calcular',...
'String','Calcular',...
'CallBack','b+d+f');
'CallBack','b+d+f');
TEXTO (LABEL)
BOTONES DE OPCIÓN (RADIO BUTTONS)
%
% Definir
Definir elel texto
texto de
de título
título para
para este
este grupo
grupo de
de controles
controles
txt_01 = uicontrol(gcf,...
txt_01 = uicontrol(gcf,...
'Style','text','String','Tolerancia
'Style','text','String','Tolerancia dede la
la resistencia',...
resistencia',...
'Units','normalized','Position',[0.4
'Units','normalized','Position',[0.4 0.600.60 0.25
0.25 0.05]);
0.05]);
%
% Definir
Definir lala propiedad
propiedad TickDir
TickDir In
In con
con radiobutton
radiobutton (defecto)
(defecto)
tol=5
tol=5
td_5
td_5 == uicontrol(gcf,...
uicontrol(gcf,...
'Style','radio',
'Style','radio', 'String','+/-
'String','+/- 5%',...
5%',...
'Units','normalized','Position',[0.4
'Units','normalized','Position',[0.4 0.550.55 0.25
0.25 0.05],...
0.05],...
'Value',1,...
'Value',1,...
'CallBack','set(td_5,''Value'',1),set(td_10,''Value'',0),set(td_1
'CallBack','set(td_5,''Value'',1),set(td_10,''Value'',0),set(td_1
5,''Value'',0),1,0,0,tol=5');
5,''Value'',0),1,0,0,tol=5');
%
% Definir
Definir lala propiedad
propiedad TickDir
TickDir Out
Out con
con radiobutton
radiobutton
td_10
td_10 = = uicontrol(gcf,...
uicontrol(gcf,...
'Style','radio','String','+/-
'Style','radio','String','+/- 10%',...
10%',...
'Units','normalized','Position',[0.4
'Units','normalized','Position',[0.4 0.500.50 0.25
0.25 0.05],...
0.05],...
'Value',0,...
'Value',0,...
'CallBack','set(td_5,''Value'',0),set(td_10,''Value'',1),set(td_1
'CallBack','set(td_5,''Value'',0),set(td_10,''Value'',1),set(td_1
5,''Value'',0),0,1,0,tol=10');
5,''Value'',0),0,1,0,tol=10');
%
% Definir
Definir lala propiedad
propiedad TickDir
TickDir Out
Out con
con radiobutton
radiobutton
td_15
td_15 = = uicontrol(gcf,...
uicontrol(gcf,...
'Style','radio','String','+/-
'Style','radio','String','+/- 15%',...
15%',...
'Units','normalized','Position',[0.4
'Units','normalized','Position',[0.4 0.450.45 0.25
0.25 0.05],...
0.05],...
'Value',0,...
'Value',0,...
'CallBack','set(td_5,''Value'',0),set(td_10,''Value'',0),set(td_1
'CallBack','set(td_5,''Value'',0),set(td_10,''Value'',0),set(td_1
5,''Value'',1),0,0,1,tol=15');
5,''Value'',1),0,0,1,tol=15');
BARRAS DE DESPLAZAMIENTO
(SCROLLING BARS O SLIDERS)
barra_01 = uicontrol(gcf,...
'Style','slider',...
'Units','normalized','Position',[0.4 0.55 0.35
0.05],...
'Min',0,'Max',20000,'Value',5,...
'CallBack',
['a=num2str(get(barra_01,''Val''))']);
CAJAS DE SELECCIÓN
DESPLEGABLES (POP-UP MENUS)
popcol = uicontrol(gcf,...
'Style','popup',...
'String','CINCO|DIEZ|QUINCE|VEINTE',...
'Units','normalized','Position',[0.4 0.55 0.35
0.05],...
'CallBack',['pop=[5,10,15,20];',...
'a=pop(get(popcol,''Value''))']);
CAJAS DE TEXTO EDITABLES (EDITABLE TEXTBOXES)
MARCOS (FRAMES)

ft_dir
ft_dir =
= uicontrol(gcf,...
uicontrol(gcf,...
'Style','frame',...
'Style','frame',...
'Units','normalized','Position',[0.38
'Units','normalized','Position',[0.38 0.49
0.49 0.24
0.24 0.20]);
0.20]);

valor_01
valor_01 = = uicontrol(gcf,...
uicontrol(gcf,...
'Style','edit',...
'Style','edit',...
'BackgroundColor','white',...
'BackgroundColor','white',...
'FontSize',9,'FontName','Arial',...
'FontSize',9,'FontName','Arial',...
'String',[400],...
'String',[400],...
'Units','normalized','Position',[0.4
'Units','normalized','Position',[0.4 0.60
0.60 0.20
0.20 0.05],...
0.05],...
'CallBack','r=valor_01')
'CallBack','r=valor_01')

boton_calculo
boton_calculo = = uicontrol(gcf,...
uicontrol(gcf,...
'Style','push',...
'Style','push',...
'Units','normalized','Position',[0.4
'Units','normalized','Position',[0.4 0.52
0.52 0.20
0.20 0.05],...
0.05],...
'String','Calcular',...
'String','Calcular',...
'CallBack','r*3');
'CallBack','r*3');
Simulink:
 Este programa se
basa en la utilización
de comandos en
sistemas de bloques,
cada bloque ejecuta
un comando
matemático.
 Esta ventana muestra
las distintas galerías
donde se encuentran los
comandos de bloques.
 En este curso no
profundizaremos en
todas las galerías ni en
todos los comandos ya
que por razones de
tiempo y necesidad de
uso solo utilizaremos los
sistemas de bloques más
necesarios para
Ingeniería Eléctrica.
Comenzaremos con la
galería Simulink:
La galería SOUCES:
 Losbloques que
se encuentran
dentro son los
bloques de
entrada, los
generadores de
señales.
Constant

Este bloque se
utiliza para Constant value: Aquí se ingresa
ingresar la contante.
constantes.
Ingresar Signal Generator

Wave form: El tipo de señal


Este bloque se utiliza para
Amplitude: La amplitud de la señal
generar distintos tipos de
Frequency: La frecuencia de la señal
señales.
Units: Herts o rad/seg
Clock and Digital Clock

Este bloque se utiliza para Este bloque se utiliza para


generar una señal análoga generar una señal digital
correspondiente al tiempo correspondiente al tiempo
de evaluación. de evaluación.
Ingresar Constante

Step time: Tiempo de retardo


Inicial value: Valor de inicio
Este bloque se utiliza para
Final value: Valor después del cambio
generar una señal de
Sample time: Rate (evalúa la señal en un tiempo
pulso.
especificado si se le ingresa “0” la evaluación es
automática)
Ramp

Slope: m
Este bloque se utiliza para
Start time: cuando comienza a
generar una señal del tipo
funcionar
y = mx + h.
Initial output: h
Sine Wave

Amplitude: Amplitud de la señal.


Este bloque se utiliza para Frequency (rad/sec): Frecuencia en radianes por segundo
generar una señal del Phase (rad): Desfasage en radianes
tipo senoidal. Sample time: Rate (evalúa la señal en un tiempo especificado si
se le ingresa “0” la evaluación es automática)
From File and From Workspace

Este bloque utiliza una Este bloque utiliza una


memoria mat para memoria común para
generar la señal generar la señal
La galería SINKS:
 Los bloques que se
encuentran dentro
son los que registran
las salidas graficando
o guardando en
memorias.
Scope

Las opciones que dispone el graficador son:


Zoom in: zoom más cerca.
Este bloque grafica las
zoom out: zoom más lejos.
señales
zoom box: zoom sobre una región determinada.
zoom autoscale: zoom automático viendo todo el grafico.
XY Graph

Las opciones que dispone el graficador son:


x-min: El valor de comienzo según el eje x.
x-max: El valor de final según el eje x.
Este bloque grafica las
y-min: El valor de comienzo según el eje y.
señales según X e Y
y-max: El valor de final según el eje y.
Sample time: Rate (evalúa la señal en un tiempo especificado si se le
ingresa “0” la evaluación es automática)
Display

Fomat: El tipo de forma que se va a visualizar.


Este bloque muestra el valor de la Decimation: la precisión.
señal punto a punto o hasta Sample time: Rate (evalúa la señal en un tiempo
llegar a un valor constante. especificado si se le ingresa “0” la evaluación es
automática)
To File and To Workspace

Este bloque utiliza una memoria mat Este bloque utiliza una memoria común
para guardar la señal para guardar la señal
Stop Simulation

Este bloque detiene la simulación cuando


Este bloque detiene la
el valor que se le ingresa es distinto de
simulación
“0” (cero).
La galería CONTINUOUS:
Integrator and Derivatrive

Este bloque integra la señal Este bloque deriva la señal punto


punto a punto y muestra el a punto y muestra el
acumulado hasta el momento acumulado hasta el momento
La galería MATH: Sum

Este bloque suma o resta las


Icon shape: La forma Rectangular o Circular.
señales punto a punto.
Listo of signs: Aquí se agrega + o –
Se puede visualizar circular o
dependiendo lo que se necesite.
rectangular.
Product

Number of input: El numero de entradas, si se ingresan


Este bloque multiplica
“/” la señas es dividida y si se coloca “*” se
o divide las
multiplica, y si se coloca un numero todas las
señales.
entradas se multiplican.
Math Function

Este bloque aplica a la


señal de entrada de Function: Es la lista de las funciones
varias operaciones disponibles.
matemáticas.
Math Function

Este bloque aplica a la señal de


Function: Es la lista de las funciones
entrada de varias operaciones
trigonométricas disponibles.
trigonométricas matemáticas.
Function

Este bloque aplica a la señal de entrada el comando de


valor absoluto.

Este bloque entrega el signo de la señal de entrada.


Ej: +20  +1 0  0 -20  -1

Este bloque actúa como un sistema digital interactuando


con 0 y 1.
Function

Este bloque compara las señales digitales o análogas


pero con un resultado digital.

Este bloque une dos señales trasformándolas en


complejas para luego poder resolver cualquier calculo
de complejo sobre una señal única.

Este bloque separa a la señal compleja en dos señales


comunes.
Function

Este bloque convierte una señal polar en una


rectangular.

Este bloque convierte una señal rectangular en una


polar.

Este bloque resuelve sistemas.


La galería FUNCTION AND TABLES:
FCN

Este bloque aplica a la señal de


Function: Es la lista de las funciones
entrada de varias operaciones
trigonométricas disponibles.
trigonométricas o matemáticas.
MATLAB Fcn

Bloque de función

En el parámetro MATLAB function: se coloca


el nombre del archivo de extencion *.m
generado en Matlab,
Output width: es el valor de multiplicación
final de la salida.
Función que
se genera en
el editor de
Matlab

Resultado
visualizado con el
SCOPE
La galería SIGNAL & SYSTEMS:
From & GOTO

Estos bloques se utilizan para trasmitir una señal de


un lado al otro a través estos bloques.
Es muy útil cuando los sistemas se vuelven muy
complejos y se necesita una señal determinada
MUX & DEMUX

Estos bloques sirven para


unir señales y para
separarlas.

IN & OUT

Estos bloques son


utilizados en la
conformación de
subsistemas.
Power System Blockset:
Esta
Esta librería,
librería, este
este programas
programas es
es realmente
realmente extenso
extenso con
con una
una gran
gran
capacidad
capacidad para
para realizar
realizar diversos
diversos tipos
tipos de
de sistemas
sistemas eléctricos
eléctricos yy
de
de de
de control,
control, pero
pero para
para comenzar
comenzar aa interiorizarnos
interiorizarnos con
con el
el
programa
programa poco
poco aa poco
poco yy debido
debido aa que
que este
este apunte
apunte esta
esta dedicado
dedicado
para
para alumnos
alumnos de
de Ing.
Ing. Eléctrica
Eléctrica los
los símbolos
símbolos que
que utilizaremos
utilizaremos son
son
fáciles
fáciles de
de reconocer.
reconocer.
Electrical Sources:

Esta librería
nos proporciona
los distintos
tipos de fuentes
que necesitemos
para desarrollar
sistemas
eléctricos
básicos.
Elements:
Esta librería
nos proporciona
los distintos
tipos de
elementos tales
como
resistencias,
capacitores,
inductancias,
transformadores,
etc.
Diodos motores y medidores:

Esta nos proporciona diodos,


transistores, etc.

Esta nos proporciona


distintos tipos de motores
asincrónicos monofásicos
trifásicos, etc.

Esta nos da un voltímetro y


un amperímetro.
Ejemplo de un circuito

También podría gustarte