Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fundamentos de
MATLAB
KRAQ
¿Qué es MatLab?
MATrix LABoratory
LENGUAJE DE COMPUTACIÓN TÉCNICA
FÁCIL USO
MÚLTIPLES HERRAMIENTAS PARA APLICAR EN
TODAS LAS ÁREAS DEL CONOCIMIENTO
• PODEROSO SISTEMA DE VISUALIZACIÓN DE DATOS
Y DISEÑO DE INTERFAZ GRÁFICA
• AMPLIA DOCUMENTACIÓN
Aplicaciones de MATLAB
Aeroespacial
Biomédica
Sistemas de control
Procesamiento de imágenes
Procesamiento de Audio
Diseño de filtros
Base de datos
Finanzas
SISTEMA MATLAB
ENTORNO-ESCRITORIO DE MATLAB
Barra de menús
Barra de
herramientas
Navegador del
Directorio actual
Navegador del
workspace
Historial de
comandos
VENTANA DE COMANDOS
(PARA ESCRIBIR COMANDOS
EN MATLAB)
Botón de inicio
ENTORNO-ESCRITORIO DE MATLAB
Botón de desacople
(undock)
Botón de inicio
ENTORNO-EL EDITOR
CREA UN EDITOR EDITOR CREADO
ENTORNO-WORKSPACE
Ejemplo 1.
FUNDAMENTOS DE MATLAB
DECLARACIÓN DE VARIABLES
FUNDAMENTOS DE MATLAB
(4,6)
(1,2)
0 x
FUNDAMENTOS DE MATLAB
VARIABLES ESPECIALES
Ejercicio:
Calcular el volumen de un cono circular
recto trucado
FUNDAMENTOS DE MATLAB
VARIABLES ESPECIALES
• Matlab opera normalmente en >> a=150/0
formato double según el formato a=
IEEE. Inf
>> clear b
• Los números que son más grandes de
>> b=0/0
representar son considerados b=
infinito. NaN
• Maneja correctamente los valores >> Inf-Inf
Inf (infinito) y NaN (not-a-number). ans =
• Genera complejos automaticamente NaN
>> c=15+sqrt(-1)
c=
15.0000 + 1.0000i
>> Inf/Inf
ans =
NaN
FUNDAMENTOS DE MATLAB
Calcular E: a) X=4
b) X=1,2,3,..,10
FUNDAMENTOS DE MATLAB
Ejemplo 4.
Encuentre el valor de los catetos de un triángulo rectángulo que tiene
una hipotenusa igual a 50 y un ángulo de 65°
>> h=50;teta=65*pi/180;
>> a=50*cos(teta)
a=
2.113091308703497e+001
>> b=50*sin(teta)
b=
4.531538935183249e+001
Ejemplo 5.
Encuentre el logaritmo en base 7 de 25
>> x=log(25)/log(7)
x=
1.654174950693832
FUNDAMENTOS DE MATLAB
Ejemplo 6.
En un triángulo rectángulo se conoce que uno de sus catetos tiene 10
unidades y la hipotenusa de 15 unidades encuentre el ángulo entre ellos
>> alfa=acos(10/15)*180/pi
alfa =
4.818968510422140e+001
Ejemplo 7.
Convertir las coordenadas cartesianas a cilíndricas y viceversa
Ejemplo 8.
Convertir las coordenadas cartesianas a esféricas y viceversa
FUNDAMENTOS DE MATLAB
Ejemplo 9.
Calcular el
módulo de :
FUNDAMENTOS DE MATLAB
OPERACIONES MATRICIALES BÁSICAS
Variablesmatriciales
Para crear una variable (o cambiar su valor) basta colocarla a la izquierda del
operador asignación (=). Podemos evaluar una expresión en MATLAB almacenando
el resultado en una variable.
variable = expresión
o simplemente para obtener el resultado
expresión
Cuyo valor se asigna a una variable interna llamada ans .
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
Operaciones con matrices
Existen 2 tipos de operaciones con matrices. Las operaciones matriciales que se rigen por las reglas
conocidas del álgebra lineal: suma (+), resta (-), producto (*), división (/) y potencia (^); y las
operaciones con matrices que se rigen elemento a elemento: producto e.e. (.*) , división e.e. (./) y
potencia e.e. (.^) .
También son válidas, y en las mismas condiciones, a división por la izquierda (\) y la división por la
izquierda e.e. (.\).
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
Operaciones con matrices
Para aplicar las operaciones e.e. entre matrices se requieren que los operandos tengan el
mismo tamaño (aplicados entre escalares producen el mismo resultado que las
operaciones habituales).
FUNDAMENTOS DE MATLAB
Ejemplo 8.
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
Operaciones con matrices
Ejercicios:
>> A‘ >> B=A‘ >> B*A
Recordar que el
ans = B= ans =
resultado es una
1 4 7 1 4 7 66 78 90
matriz simétrica
2 5 8 2 5 8 78 93 108
3 6 9 3 6 9 90 108 126
El producto
>> A.*B >> B.*A
elemento a
ans = ans =
elemento es
3 4 3 4
conmutativo
3 16 3 16
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
Operaciones con matrices
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
Formas de construir matrices
Juntando matrices
[A1 A2 A3 …] ó horzcat(A1,A2,…)
Crea una matriz pegando las matrices A1,A2,… , (todas deben tener igual número de filas).
[A1;A2;A3 …] ó vertcat(A1,A2,…)
Crea una matriz apilando las matrices A1,A2,… , una debajo de otra (todas deben tener igual
número de columnas).
Usando funciones predefinidas
A’ : Devuelve la matriz transpuesta de A.
inv(A) : Devuelve la matriz inversa de A.
triu(A) : Devuelve la matriz triangular superior de la matriz A.
tril(A) : Devuelve la matriz triangular inferior de la matriz A.
diag(V) : Crea una matriz diagonal con el vector V en la diagonal.
diag(A) : Extrae la diagonal principal de la matriz A como vector columna.
eye(n) : Crea la matriz identidad de orden n.
eye(m,n) : Crea la matriz de tamaño mxn con unos en la diagonal principal y ceros en el resto.
toeplitz(v) define una matriz simétrica de diagonal constante con v como primera fila y
primera columna
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
V(J) ó V([j1 j2 j3 …]) : Devuelve el vector formado por los elementos de V indicados por J.
Es decir el vector [V(j1) V(j2) V(j3) … ]
A(I,:) ó A([i1 i2 i3 … ],:) : Define una matriz formada por la filas de A indicadas por I.
Es decir las filas i1-ésima,i2-ésima,etc. de A en ese orden.
A(:,J) ó A(:,[j1 j2 j3 … ]) : el mismo caso anterior para las columnas.
A(I,J) : Como en el caso anterior para elementos de esas filas y esas columnas.
A(m1:m2,:) : Define la submatriz de A formada por las filas entre la m1-ésima y la m2-ésima.
A(:,n1:n2) : Define la submatriz de A formada por las columnas entre la m1-ésima y la m2-
ésima.
A(m1:m2,n1:n2) : Devuelve la submatriz A formada por los elementos de las filas y las
columnas indicadas.
FUNDAMENTOS DE MATLAB
Cambiar valores de matrices
V(n)=d : Sustituye el n-ésimo elemento del vector V por el valor d.
A(m,n)=d : Sustituye el amn elemento de la matriz A por el valor d.
A(n)=d : Sustituye el n-ésimo elemento del vector A(:) por el valor d.
>> a=rand(4,5)
a=
0.1493 0.8143 0.1966 0.3517 0.9172
0.2575 0.2435 0.2511 0.8308 0.2858
0.8407 0.9293 0.6160 0.5853 0.7572
0.2543 0.3500 0.4733 0.5497 0.7537
>> a(3,4)=58
a=
0.1493 0.8143 0.1966 0.3517 0.9172
0.2575 0.2435 0.2511 0.8308 0.2858
0.8407 0.9293 0.6160 58.0000 0.7572
0.2543 0.3500 0.4733 0.5497 0.7537
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
a=
0.1493 0.8143 0.1966 0.3517 0.9172
0.2575 0.2435 0.2511 0.8308 0.2858
0.8407 0.9293 0.6160 58.0000 0.7572
0.2543 0.3500 0.4733 0.5497 0.7537
>> a(2:3,1:4)=zeros(2,4)
a=
0.1493 0.8143 0.1966 0.3517 0.9172
0 0 0 0 0.2858
0 0 0 0 0.7572
0.2543 0.3500 0.4733 0.5497 0.7537
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
a=
0.1493 0.8143 0.1966 0.3517 0.9172
0 0 0 0 0.2858
0 0 0 0 0.7572
0.2543 0.3500 0.4733 0.5497 0.7537
>> a([2,3],[2,4])=ones(2,2)
a=
0.1493 0.8143 0.1966 0.3517 0.9172
0 1.0000 0 1.0000 0.2858
0 1.0000 0 1.0000 0.7572
0.2543 0.3500 0.4733 0.5497 0.7537
FUNDAMENTOS DE MATLAB
VECTORES Y MATRICES
Formas de construir matrices
Matrices como vectores
Aunque las matrices se introducen por filas, MATLAB las almacena como una columna
colocando las columnas de la matriz una debajo de otra. Esto permite acceder a los
elementos de una matriz con un solo índice.
A(:) : Devuelve un vector columna formado por las columnas de la matriz A una detrás de
otra.
A(n) : Devuelve en n-ésimo elemento del vector columna A(:).
A(K) : Siendo K una matriz, devuelve una matriz del mismo tamaño que la matriz K, formada
por los elementos de A indiciados por los elementos correspondientes de K. Es decir el
elemento ij será el kij-ésimo elemento de A(:), A(kij).
reshape(A,m,n) : Devuelve una matriz del mxn cuyas columnas se forman tomando los
elementos sucesivos de A(:). Si A tiene menos o más elementos de mxn se produce un error.
Nota: Las matrices de índices deben contener valores válidos. Si A es mxn, deben ser:
Los valores pueden estar repetidos
FUNDAMENTOS DE MATLAB
Cambiar valores de matrices
A(I,J)=D : Sustituye los elementos de A indiciados con los vectores I y J, por los
elementos correspondientes de la matriz D. Las matrices A(I,J) y D deben ser del
mismo tamaño.
A(K)=D : Sustituye los elementos de A indiciados con la matriz K por los elementos
correspondientes de la matriz D, dicha indexación es por columnas.
• Traza de A: b=trace(A)
FUNDAMENTOS DE MATLAB
OTRAS FUNCIONES UTILIZADAS
• Rango de A: rank(A)
• Polinomio característico de A : poly(A)
• Matriz triangular inferior a partir de la matriz A : tril(A)
• Matriz triangular superior a partir de la matriz A : triu(A)
• Devuelve los indices distintos de cero : find(A)
• Intercambia la matriz de izquierda a derecha : fliplr(A)
• Intercambia la matriz de arriba abajo : flipud(A)
• gira la matriz 90° en sentido antihorario : rot90(A)
• gira la matriz nx90 : rot90(A,n)
• estas funciones operan elemento a elemento : exp,log,sqrt
FUNDAMENTOS DE MATLAB
MÁS FUNCIONES DEFINIDAS
>> A=magic(3)
A=
Reshape
8 1 6 ordena a una
3 5 7 matriz por
4 9 2 columnas
>> Asc=reshape(A,1,9)
Asc =
8 3 4 1 5 9 6 7 2
La funciones min y max no
sólo te da el mayor valor
sino también su posición
FUNDAMENTOS DE MATLAB
MÁS FUNCIONES DEFINIDAS
FUNDAMENTOS DE MATLAB
MATRICES DE N DIMENSIONES
>> A='cafe';
>> B='mate';
>> A==B
ans =
0 1 0 1
>> strcmp(A,'cafe')
ans =
1
FUNDAMENTOS DE MATLAB
TIPOS DE DATOS
CADENA DE CARACTERES
FUNDAMENTOS DE MATLAB
TIPOS DE DATOS
ESTRUCTURA Y CELL ARRAYS
>> dato.x=12;
>> dato.y=123;
>> dato.color='verde';
>> dato
dato =
x: 12
y: 123
color: 'verde'
FUNDAMENTOS DE MATLAB
TIPOS DE DATOS
ESTRUCTURA Y CELL ARRAYS
>> ss{1,1}=12;
>> ss{1,2}='rojo';
>> ss{1,3}=magic(4);
>> ss{2,1}=ones(3);
>> ss{2,2}=43;
>> ss{2,3}='texto';
>> ss
ss =
[ 12] 'rojo' [4x4 double]
[3x3 double] [ 43] 'texto'
FUNDAMENTOS DE MATLAB
TIPOS DE DATOS
Identificación del tipo de dato
FUNDAMENTOS DE MATLAB
Operaciones y funciones lógicas
Operaciones Relacionales
FUNDAMENTOS DE MATLAB
Operacionesy funciones lógicas
OperacionesRelacionales
Una de las aplicaciones más importantes de las variables lógicas es separar o extraer
elementos de una matriz o un vector que cumplen cierta condición
>> j=A>10
j=
1 0 0 1
0 1 0 0
0 0 0 1
0 1 1 0
FUNDAMENTOS DE MATLAB
Operaciones y funciones lógicas
Operaciones Relacionales