Documentos de Académico
Documentos de Profesional
Documentos de Cultura
BÁSICO DE MATLAB
1: El entorno de MATLAB
¿Qué es MATLAB?
Workspace Window Provee información sobre las variables que está en uso.
Current Directory Window Muestra los archivos que se encuentran en el directorio en el cual
se está trabajando.
Nomenclatura de variables
Regla Comentarios
2: El álgebra y MATLAB
Matrices
En MATLAB las matrices y vectores son variables
que tienen nombres.
Para definir una matriz no hace falta establecer
de antemano su tamaño (puede cambiarse
posteriormente).
Las matrices se definen por filas,
los elementos de una misma fila están separados
por espacios o comas,
mientras que las filas están separadas por Enter
o por caracteres punto y coma (;).
Los términos de matrices y vectores deberán ir
dentro de caracteres corchetes [].
Matrices elementales
Matrices Elementales
>> eye(3)
eye Matriz identidad ans =
1 0 0
0 1 0
0 0 1
>> ones(3,2)
ones Matriz de unos ans =
1 1
1 1
1 1
>> rand(3)
rand Números aleatorios con ans =
0.4447 0.9218 0.4057
distribución uniforme 0.6154 0.7382 0.9355
0.7919 0.1763 0.9169
>> randn(3)
randn Números aleatorios con ans =
-0.1867 2.1832 1.0668
distribución normal 0.7258 -0.1364 0.0593
-0.5883 0.1139 -0.0956
>> zeros(3)
zeros Matriz de ceros ans =
0 0 0
0 0 0
0 0 0
Nomenclatura Operación
A’ Transpuesta de A
eig(A) - Eigenvalores de A
[D,E] = eig(A) - Eigenvalores y eigenvectores de A
[L,U] = lu(A) Factorización LU de A
R = chol(A) Factorización de Cholesky de A
[U,S,V] = svd(A) Descomposición en valores singulares para la
matriz A
[Q,R] = qr(A) Descomposición ortogonal-triangular de A
inv(A) Inversa de A
det(A) Determinante de A
Ejemplo:
Solución
3: Visualización de datos
Las figuras en MATLAB
Los archivos con extensión Nombre de Descripción de Valores de la
la propiedad la propiedad propiedad
“.fig” son objetos gráficos position Localización y Valor: un vector de 4
denominados figuras, los tamaño de la elementos [izquierda,
cuales son una ventana figura fondo, ancho, alto]
set(H,'PropertyName‘,PropertyValue,...)
Elementos de las figuras
Dentro de la figura existen varios
elementos que se pueden modificar
Comandos básicos para graficar
y Yellow . puntos
m magenta o círculos
c cyan x marcas en x
r red + marcas en +
g green * marcas en *
b blue s marcas cuadradas (square)
w white d marcas en diamante (diamond)
k black ^ triángulo apuntando arriba
Símbolo Estilo de línea v triángulo apuntando abajo
- líneas continuas > triángulo apuntando a la derecha
: líneas a puntos < triángulo apuntando a la izquierda
-. líneas a barra-punto p estrella de 5 puntas
-- líneas a trazos h estrella se seis puntas
CURSO TALLER
BÁSICO DE MATLAB
4: Programación básica
¿Dónde programar?
Archivo m script Archivo m function
No acepta ni regresa Puede aceptar argumentos de
argumentos de entrada o de entrada y regresa argumentos de
salida salida
Las variables que se utilizan en Las variables internas son locales
estos programas operan en el (cuando se termina el programa) el
workspace workspace no se altera
Tabla de verdad
Operador Descripción
< Menor que A = [1 1 0 0]';
<= Menor o igual que B = [1 0 1 0]';
> Mayor que C = and(A,B);
>=
D = or(A,B);
Mayor o igual que
E = xor(A,B);
== Egual que ['A B Y O XO' ;
~= No igual que num2str([A B C D E])]
Controles de flujo
if, junto con else y elseif, ejecuta un grupo de sentencias
basadas en alguna condición lógica.
switch, junto con case y otherwise, ejecuta diferentes
grupos de sentencias dependiendo del valor lógico de alguna
condición.
while, ejecuta un grupo de sentencias un indefinido número
de veces, basándose en alguna condición lógica.
for, ejecuta un grupo de sentencias un número fijo de veces.
continue, pasa el control de flujo a la siguiente iteración de
un ciclo for o while, saltando las sentencias remanentes en
el cuerpo del loop.
break, termina la ejecución de un ciclo for o while.
Try...catch, cambia el control de flujo si un error se detecta
durante la ejecución.
return, hace que la ejecución se regrese a una función.
Todas las sentencias anteriores usan end para indicar el final del
bloque de control de flujo.
Sentencia If
if expresión_lógica_0
Sentencias_0
{ elseif expresión_lógica_1
sentencias_elseif_1
elseif expresión_lógica_2
sentencias_elseif_2
...
else
sentencias_else }
end
Sentencia switch
switch expresión (escalar o texto)
case Valor_1
sentencias_1 % Se ejecutan si la expresión es valor_1
case Valor_2
sentencias_2 % Se ejecutan si la expresión es valor_2
.
.
.
otherwise
sentencias % Se ejecutan si la expresión no coincide
end
Sentencia while y for
while expresión
sentencias
end
5: Métodos numéricos
Integración Numérica
Función Características
Función Características
Función Características
fzero(fun,xo,... Encuentra el valor de x para el cual
options,P1,P2,…) f(x) = 0. Donde x es un escalar.
M t, x x f t, x
x 0 a
Su nomenclatura es
[t,x] = ode#(odefun,tspan,xo)
donde ode# es cualquiera de las funciones ode que se
muestran en la tabla anterior. Mientras que los
argumentos básicos son
odefun Función que evalúa el sistema de ecuaciones
diferenciales. Este tiene la forma
dxdt = odefun(t,x)
donde t es un escalar, y dxdt y x son vectores columna.
tspan es un vector que especifica el intervalo de
integración. Este puede ser un vector de dos elementos
[t0, tf] que especifican el tiempo inicial (t0) y el final (tf),
o un vector de mayor longitud que indica en que valores
dentro del intervalo de tiempo se desea la solución.
xo es un vector de condiciones iniciales para los estados
del sistema.
Ecuaciones diferenciales con retardo
Para sistemas de la forma
f t , x t , x t 1 , , x t k
dx
t t0 , t f
dt
x t t t t0
donde t es la variable independiente, x es la variable dependiente, y
t1,…, tk, son los retardos (positivos y constantes) que presenta la
variable dependiente, MATLAB dispone el la función dde23 para
resolverlos. El método de solución que utiliza es el explícito de Runge-
Kutta (2,3) interpolante. La sintaxis básica de esta función es
[t,x] = dde23(ddefun,lags,historytspan)
donde los argumentos básicos son
ddefun Función que evalúa el sistema de ecuaciones diferenciales. Este
tiene la forma
dxdt = ddefun(t,x,z)
donde t es un escalar, dxdt y x son vectores columna de la variable
dependiente, y Z(:, j) es x(t – tj) para tj = lags(j).
lags es un vector de constantes positivas que representa los retardos t1,…,
tk.
history es una función de t que evalúa las solución para x(t) en t t0, es
decir .
tspan es un vector que especifica el intervalo de integración de la forma [t0,
tf] que especifican el tiempo inicial (t0) y el final (tf).
Problemas con valores en la frontera
La función bvp4c resuelve problemas con valores en dos fronteras
para ecuaciones diferenciales ordinarias de la forma
dy
f x, y , p , x a, b
dx
g y a , y b , p 0
6: Introducción a Simulink