de Matlab
Qu es Matlab?
Una herramienta para hacer clculos
matemticos que utiliza como elemento bsico la
matriz.
Un lenguaje de programacin:
interactivo: rdenes
avanzado pero fcil de utilizar: archivos.m
Plataforma de desarrollo: toolboxes
Ventajas del Matlab
Grficos 2D
Grficos 3D
Ajuste de curvas
Interpolacin
Anlisis numrico
Espacio de trabajo
Suma: +
resta: -
multiplicacin: *
divisin: \ /
potencia: ^
Comentarios tiles
Nmeros complejos
Funciones matemticas
abs(x) Valor absoluto
acos(x) Arcocoseno
acosh(x) Arcocoseno hiperblico
angle(x) Angulo de complejos
asin(x) Arcoseno
asinh(x) Arcoseno hiperblico
atan(x) Arcotangente
atanh(x) Arcotangente hiperblica
ceil(x) Redondeo hacia +
conj(x) Complejo conjugado
cos(x) Coseno
cosh(x) Coseno hiperblico
exp(x) Exponencial e1=2.71
log (x) Logaritmo neperiano
Funciones matemticas
fix(x) Redondeo hacia cero
floor(x) Redondeo hacia menos infinito
imag(x) Parte imaginaria compleja
log10(x) Logaritmo comn
real(x) Parte real compleja
rem(x,y) Resto de la divisin (resto al dividir x/y)
round(x) Redondeo al entero ms cercano
sign(x) Funcin signo
sin(x) Seno
sinh(x) Seno hiperblico
sqrt(x) Raiz cuadrada
tan(x) Tangente
tanh(x) Tangente hiperblica
Nmeros complejos
Solve
es una funcin que resuelve sistemas del tipo
x^3+2*x^2+3*x+x+5=0
El
nmero imaginario puro se representa
por i o j
Cualquier nmero seguido de i representa un nmero
imaginario
Hay funciones especficas para su manejo:
real(x)
imag(x)
conj(x)
angle(x), etc.
Manejo de arrays
Arrays simples
Direccionamiento de arrays
Construccin de arrays
Funciones con arrays
Matemticas de arrays con escalares
Matemticas entre arrays
Orientacin del array
Resumen de operaciones con arrays
Arrays simples
S
M um
u ltaip clo
in
cacuin
e
n s
pc
oa
l
ra
r
un a
a+
*c
c =
=[
[a
a1
1+
*c
ca
a2
2+
*c
c.
..
..
.a
an
n+
*]
c
]
c
eSsucmalaardearays a+b=[a1+b1a2+b2...an+bn]
M ultiplicacindearraysa a.
n*
*b
b=
]
n[a1*b1,a2*
b2 .
..
idevairsiaynsporladerechaa./b=[a1/b1a2/b2...an/bn]
D
iizqvuiiseirdnapodrelaarays a.\b=[a1\b1a2\b2...an\bn]
D
Potenciasdearays a .^c=[a1^ca2^c...an^]
c
c.^a=[c^a1c^a2...c^an
lgebra matricial
lgebra matricial
Manipulacin matricial
Matrices especiales
lgebra matricial
Matlab originariamente fue diseado para simplificar el
clculo 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 caracterstico de la matriz A
Manipulacin 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
sucesin de valores del tipo columna.
size(x) devuelve el tamao en filas y
columnas.
Matrices especiales
Matriz de ceros: zeros(n,m)
Matriz de unos: ones(n,m)
Operaciones relacionales
Operaciones lgicos
Operador Descripci
n
< M enorque
<= M enorqueoiguala
> M ayorque
>= M ayorqueoiguala
== IN guala
oigual
Operadores lgicos
Operadores lgicos:
O
pe&
radorD
escripcin
| AONRD
~ N O T
Funciones relacionales y lgicas
Funcin Descripcin
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
Caractersticas de funciones
Elnombre de la funcin 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
clculos 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 funcin 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 comandos entre las sentencias for y end se ejecutan una vez
hasta llegar a su fin pudiendo tambin utilizar una matriz como
rango de evaluacin
Resultado:
x=
2
x=
2 4
x=
2 4 6
x=
2 4 6 8
x=
2 4 6 8 10
Bucle while
La forma general es:
while expresin de veracidad
comandos
end
Loscomandos 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 expresin
comandos,resultado
end
Tambin
if expresin N1
comandos N1,resultado N1
elseif expresin N2
comandos N2,resultado N2
else
comandos N3,resultado N3
end
Ejemplo Estructuras if-else-end
a Tolerancia 0.25 [Watts]
k Potencia que disipa la resistencia [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
x=linspace(0,2*pi,30)
y=sin(x)
plot(x,y)
Ejemplo de superposicin de graficas
Dibujar la funcin 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 lneas y colores
Colores Tipos de lneas
y Amarillo . Puntos
m Magenta o Crculos
c Cyan x Marcas x
r Rojo + Marcas +
g Verde * Marcas *
b Azul - Lnea continua
w Blanco : Lnea punteada
k Negro -. Lneas y puntos
-- Lneas discontinuas
Ejemplo de colores y linas
Dibujar la funcin 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:')
Aadir rejillas y etiquetas
Aadir rejillas: grid
Etiquetar eje x: xlabel(texto)
BOTONES (PUSHBUTTONS)
BOTONES DE SELECCIN (CHECK BOXES)
TEXTO (LABEL)
BOTONES DE OPCIN (RADIO BUTTONS)
BARRAS DE DESPLAZAMIENTO (SCROLLING BARS O SLIDERS)
CAJAS DE SELECCIN 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 SELECCIN (CHECK BOXES)
a=0,b=0,c=0,d=0,e=0,f=0,
Box_01 = uicontrol(gcf,...
'Style','checkbox',...
'Units','normalized','Position',[0.4 0.600 0.25 0.05],...
'String','valor $5',...
'CallBack',['a=b;if a==0,b=5;else a==5,b=0;end;b']);
Box_02 = uicontrol(gcf,...
'Style','checkbox',...
'Units','normalized','Position',[0.4 0.550 0.25 0.05],...
'String','valor $4',...
'CallBack',['c=d;if c==0,d=4;else c==4,d=0;end;d']);
Box_03 = uicontrol(gcf,...
'Style','checkbox',...
'Units','normalized','Position',[0.4 0.500 0.25 0.05],...
'String','valor $10',...
'CallBack',['e=f;if e==0,f=10;else e==10,f=0;end;f']);
boton_calculo = uicontrol(gcf,...
'Style','push',...
'Units','normalized','Position',[0.4 0.450 0.25 0.05],...
'String','Calcular',...
'CallBack','b+d+f');
TEXTO (LABEL)
BOTONES DE OPCIN (RADIO BUTTONS)
% Definir el texto de ttulo para este grupo de controles
txt_01 = uicontrol(gcf,...
'Style','text','String','Tolerancia de la resistencia',...
'Units','normalized','Position',[0.4 0.60 0.25 0.05]);
% Definir la propiedad TickDir In con radiobutton (defecto)
tol=5
td_5 = uicontrol(gcf,...
'Style','radio', 'String','+/- 5%',...
'Units','normalized','Position',[0.4 0.55 0.25 0.05],...
'Value',1,...
'CallBack','set(td_5,''Value'',1),set(td_10,''Value'',0),set(td_15,
''Value'',0),1,0,0,tol=5');
% Definir la propiedad TickDir Out con radiobutton
td_10 = uicontrol(gcf,...
'Style','radio','String','+/- 10%',...
'Units','normalized','Position',[0.4 0.50 0.25 0.05],...
'Value',0,...
'CallBack','set(td_5,''Value'',0),set(td_10,''Value'',1),set(td_15,
''Value'',0),0,1,0,tol=10');
% Definir la propiedad TickDir Out con radiobutton
td_15 = uicontrol(gcf,...
'Style','radio','String','+/- 15%',...
'Units','normalized','Position',[0.4 0.45 0.25 0.05],...
'Value',0,...
'CallBack','set(td_5,''Value'',0),set(td_10,''Value'',0),set(td_15,
''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 SELECCIN
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 = uicontrol(gcf,...
'Style','frame',...
'Units','normalized','Position',[0.38 0.49 0.24 0.20]);
valor_01 = uicontrol(gcf,...
'Style','edit',...
'BackgroundColor','white',...
'FontSize',9,'FontName','Arial',...
'String',[400],...
'Units','normalized','Position',[0.4 0.60 0.20 0.05],...
'CallBack','r=valor_01')
boton_calculo = uicontrol(gcf,...
'Style','push',...
'Units','normalized','Position',[0.4 0.52 0.20 0.05],...
'String','Calcular',...
'CallBack','r*3');
Simulink:
Este programa se
basa en la utilizacin
de comandos en
sistemas de bloques,
cada bloque ejecuta
un comando
matemtico.
Esta ventana muestra
las distintas galeras
donde se encuentran los
comandos de bloques.
En este curso no
profundizaremos en
todas las galeras ni en
todos los comandos ya
que por razones de
tiempo y necesidad de
uso solo utilizaremos los
sistemas de bloques
ms necesarios para
Ingeniera Elctrica.
Comenzaremos con la
galera Simulink:
La galera SOUCES:
Losbloques que
se encuentran
dentro son los
bloques de
entrada, los
generadores de
seales.
Constant
Este bloque se
utiliza para Constant value: Aqu se ingresa
ingresar la contante.
constantes.
Ingresar Signal Generator
Slope: m
Este bloque se utiliza para
Start time: cuando comienza a
generar una seal del tipo
funcionar
y = mx + h.
Initial output: h
Sine Wave
Este bloque utiliza una memoria mat Este bloque utiliza una memoria comn
para guardar la seal para guardar la seal
Stop Simulation
Bloque de
funcin
Resultado
visualizado con
el SCOPE
La galera SIGNAL & SYSTEMS:
From & GOTO
IN & OUT
Esta librera
nos proporciona
los distintos
tipos de fuentes
que necesitemos
para desarrollar
sistemas
elctricos
bsicos.
Elements:
Esta librera
nos proporciona
los distintos
tipos de
elementos tales
como
resistencias,
capacitores,
inductancias,
transformadores,
etc.
Diodos motores y medidores: