Está en la página 1de 152

MATLAB

Capacitación: Para Principiantes

Instructor: Leonel Hernández Osnaya


Correo: leon.hosnaya@gmail.com
¡Bienvenidos! Cronograma

Re
so de icio
de sesiones

lu
Ej

ci
er

ón
c
En este curso

s
aprenderemos
desde lo más

Pr
básico en

ác
tic
programación,

a
Te
hasta temas

or
avanzados como

ía
Pr
es
interfaz gráfica en

en
ta
c
el software Matlab.


n
Es totalmente normal tener
dudas, sobre todo cuando
estás incursionando en un
nuevo software de
programación, a pesar de
ser un software de alto nivel
(de manejo “sencillo” para el
usuario), es una
herramienta desconocida
por muchos.

Tanto la la atención junto con


la ejecución de los ejercicios
te brindará la experiencia en
el software.

¿Dudas? / Participación
es Contracción de 2 palabras:
c ion
fun MATtrix LABoratory
r de Laboratorio Matricial
do
fica
Gra

Facilita la
Ejecuta la
Herramienta ingenieril, Herramienta para la generación de
simulación de
amigable con el solución de problemas programas
procesos.
usuario. matemáticos ejecutables y de

MATLAB
Permite la
instalación
generación de
Interfaz Gráfica

Simplifica la resolución de dor


vectores, matrices, cálculos d ela
numéricos/escalares. Mo

¿Qué es Matlab?
Lorem ipsum
Lenguaje dolor sit amet,
de programación Lenguajes de programación
Lorem ipsum dolor sit amet,
consectetur adipiscing. Lorem ipsum consectetur adipiscing. Lorem ipsum
de nivel bajo, es sumamente de alto nivel, la generación
dolor sit. dolor sit.
difícil la generación de de programas es más
programas. convencional.

20XX
Ensamblador 20XX
Python / Java

Fortran / c++ Matlab

Lenguajes de programación de Lorem ipsum dolor


Lenguaje sit amet, consectetur
de programación
adipiscing. Lorem ipsum dolor sit.
medio nivel, más especializados interpretado de muy alto
con gran potencia, permite la nivel. Se reduce tiempo y
generación de aplicaciones de procesos de programación.
una manera más sencilla.

Niveles de programación
● SISTEMAS DE CONTROL
● MODELADOS FÍSICOS Y
QUÍMICOS
● PROCESAMIENTO DE
IMÁGENES
● OPTIMIZACIÓN DE
PROCESOS
● GRAFICACIÓN 2D Y 3D
● PROCESAMIENTO DE
SEÑALES
● INTELIGENCIA ARTIFICIAL
(REDES NEURONALES)
MACHINE LEARNING Y
DEEP LEARNING

Aplicaciones
El inscrito obtendrá los conocimientos del lenguaje
de programación en Matlab, así como las
capacidades para generar códigos complejos.

No es necesario contar con conocimientos previos


de programación. La capacitación cuenta con un
manual de ejercicios prácticos que mejorarán el
manejo y entendimiento de esta herramienta.

En esta capacitación de 20 horas se adquirirá


conocimiento con una comprensión exponencial
que se podrá aplicar en distintas ramas de
ingeniería con base a los conocimientos del inscrito.

OBJETIVO DEL CURSO


● Asistencia
● Constancia
● Enfoque
● Perseverancia
● Paciencia
● Esfuerzo

Requisitos
Utilizaremos Matlab R2020a, sin embargo, si cuentas con
una versión diferente podrás seguir cada sesión sin
inconveniente.

VERSIÓN DEL SOFTWARE


WINDOWS | 64 BITS | RAM 4 GB

REQUISITOS DEL SISTEMA


Instalación y Descarga de Matlab 2020

El archivo pesa 19GB y está dividido en 3 archivos


comprimidos + 1 crack.
Descarga de los siguientes enlaces:

1. https://www.mediafire.com/file/beit0pfyi8mvul9/R2020a_Windows.part
1.rar/file
2. http://www.mediafire.com/file/vu303euh0ap14w2/R2020a_Windows.p
art2.rar/file
3. https://www.mediafire.com/file/qv86p4da1npn1bl/R2020a_Windows.p
art3.rar/file
4. https://usersdrive.com/q1pc6qujekty.html
DESCARGA

Nota: El crack se descarga perfectamente en Mozila FireFox


1. Coloca los 3
archivos en una
sola carpeta y
selecciónalos.

2. Clic derecho y selecciona


extraer aquí.

5. Selecciona setup
(Ícono Aplicación de
Matlab)

4. Clic derecho -> abrir


con -> Explorador de 6. Ejecuta como
administrador y otorga
Windows
los permisos

3. Una vez descomprimido, selcciona el Inició el proceso de


archivo .ISO instalación de Matlab
1. Selecciona Advanced Options
2. Selecciona I havea file
installationkey
3. Acepta los términos
4. En la carpeta crack abre el archivo
de instrucciones y copia la primer
clave (seleccionada en la imagen)
1. Copia el código en el instalador y dar clic
en siguiente
2. Selecciona la carpeta de instalación
(puede ser la que esta por default)
3. Da clic en browse y direcciona a la carpeta
crack
4. Selecciona el archivo
license_standalone.licuna vez cargado dar
clic en siguiente
1. Quitar la selección de la
Recomendación: Selecciona casilla y dar clic en
todos los archivos e instala. siguiente
Si no seleccionas alguna 2. Iniciar proceso de
paquetería simplemente no se instalación dando clic al
instalará esa paquetería. botón verde
Dar clic a siguiente 3. Espera a que termine la
instalación
4. Cierra Matlab
1. Colocarte en la siguiente ubicación: Disco
C / Archivos de Programa / Polyspace/
R2020a / Licences
2. Abre la carpeta MATLAB_R2020_CRACK
Publishfortheworld.com, después abre la
carpeta Crack Matlab R2020a
3. Copia los 2 archivos Licensede la carpeta
crack dentro de la carpeta licensesdentro
de R2020a, confirma la operación.
A PARTIR DE ESTE PUNTO,
ASEGÚRATE DE TENER
DESACTIVADO TU
ANTIVIRUS.
CON WINDOWS DEFENDER
ES SUFICIENTE PARA
PROTECCIÓN DE TU
EQUIPO.
1. Colocate en la siguiente ubicación:
Disco C / Archivos de Programa / Polyspace/ R2020a
2. Abre la carpeta MATLAB_R2020_CRACK
Publishfortheworld.com, abre posteriormente la
carpeta Crack Matlab R2020a, por último abre la
carpeta R2020a.
3. Copia la carpeta Bin y reemplazala en la carpeta
R2020a de Polyspace, concede los permisos.
1. Colócate dentro de la carpeta Bin y
selecciona el ícono de Matlab
2. Crea un acceso directo en el escritorio
3. Ejecuta como administrador y se
iniciará Matlab 2020
¡YA TIENES INSTALADO MATLAB 2020!
A PARTIR DE ESTE PUNTO,
PUEDES ACTIVAR TU
ANTIVIRUS.
¡PRECAUCIÓN! TEN
CUIDADO DE QUE NO SE
ELIMINEN LOS ARCHIVOS
CRACK, GENERARÁ
PROBLEMAS EN EL
SOFTWARE
MATLAB
Capacitación Desde Cero

INTERACCIÓN CON MATLAB


SCRIPT
VARIABLES
VECTORES
MATRICES
INTERACCIÓN CON MATLAB
INTERACCIÓN CON MATLAB
Escribe:

5+8

7-9

8*-5

-6/-2

Al no indicar una variable, el software de manera automática genera una de nombre “ans”. Al escribir
una operación sin variable, el software sobreescribe el valor en la variable “ans”.

Los resultados se guardan en el “Workspace”, para borrar los resultados colocamos clc en la ventana
de comandos y para borrar el trabajo que hemos realizado en la ventana de comandos escribimos
clear.
clear; clc

Operaciones Básicas
Al colocar el símbolo de % en Matlab, servirá para que el
software no considere lo escrito, sino más bien sea un simple
comentario.

Generación y apertura de script Matlab


(archivo .m)

% / Script
Variables
Vectores
Unidimensional
Variable en programación es
una unidad de datos que puede
cambiar de valor. Es la forma
más simple de almacenamiento,
representando una zona de Los Arreglos se utilizan para almacenar
un conjunto de variables, que sean del
memoria donde se almacena un

Arreglos
mismo tipo de dato, y todas estas bajo
elemento de datos. un mismo nombre.

Matrices
Bidimensional

VARIABLES, VECTORES, MATRICES


s=5+9

r=-9-5

m=5*7*8

d=50/10

e=2^2 (^ se conoce como acento circunflejo sirve como operador de potencias)

El carácter (;) permite realizar la operación sin necesidad de presentar resultados.

Puedes colocar variables dentro de otra variable, ejemplo:

a=5;

b=8;

c=a+b;

Todos nuestros datos se van guardando en workspace

Ejemplos en Matlab
[

Nota: al presionar la tecla “de


dirección hacia arriba”
^ podremos recrear lo escrito
previamente y volverlo a correr
{

Teclado
Workspace permite editar las variables que
hemos generado, convirtiendo una variable en
un vector o una matriz, como se muestra en el
ejemplo ilustrativo.
También puedes configurar los datos a
observar, como el tamaño, min, max, etc.

Workspace
Ejemplos en Matlab
Workspace es el lugar que “guarda” los resultados que generamos en Matlab, sin embargo al
re-nombrar una variable con un resultado distinto, Matlab por defecto reemplazará el valor
previamente generado por el nuevo realizado.

Ejemplo:
%Este es un script de sobreescritura de variables y de depuración
r=3*4
La depuración permitirá revisar paso por paso
el código para determinar errores en el código:
r=8-4
Ejemplo:
r=7+15
%Depuración
r=3^2
a= 7+5;

b=5^2;

c=8/e;

d=a+b+c;

Workspace/ Sobreescritura / Depuración


Una vez guardado el
script podemos volverlo
a abrir en el software
desde Current Folder.

Current Folder
MATLAB
Capacitación Para Principiantes:
Sesión 2

REGLAS DE VARIABLES
VECTORES | MATRICES
EXTRACCIÓN | OPERACIONES
1. El nombre de cualquier variable debe iniciar con una letra.
Escribe en command window:
altura=50 / 24horas=24 y horas24=24 / ¡variable!=15 y variable¡!=15

2. El nombre de cualquier variable puede incluir solamente letras, números y


guión bajo.
Escribre:
variable_guion_bajo=200 / variable!=201 / Variable5=505

3. Longitud máxima de 63 caracteres.


Escribe:
variabledemuchoscaracteresparacomprobarlaveracidaddelasreglasrespectoavariab
les=600

4. Distinción de nombres entre mayúscula y minúscula (Z/z).


Escribe:
Variable=25 / variable=35 / Z=1 z=2

Reglas para nombrar variables.


5. Es imposible utilizar una keyword predefinida por
Matlab como variable.

Escribe iskeword

Escribe: try / function /global


6. Existe la posibilidad de modificar las variables de
las funciones internas que contiene Matlab.

Escribe:

cos(50)
cos=50
cos(50) Te marcará error
clear cos Para borrar la variable generada
cos(50) Función restaurada

Reglas para nombrar variables.


Tipos de Vectores
(Arreglos
Unidimensionales)

En Fila En columna

0
1.5
v=[0 1.5 3 -3 9 -18] 3 Escribe en Matlab
-3
ó 9 v=[0;1.5;3;-3;9;-18]
v=[0,1.5,3,-3,9,-18] -18

Vectores
Genera un arreglo unidimensional regular de 7 elementos que incremente (1) desde 1 hasta 7

v=[1 2 3 4 5 6 7]

Escribe en command window:

V1_7=[1:7] ó V1_7=1:7

Genera un arreglo unidimensional regular de 7 elementos descendentes (1) desde 7 hasta 1

Escribe:

V7_1=[7:-1:1]

Genera un arreglo unidimensional regular de 7 elementos que incrementen (3) a partir de 0

V_3_7=0:3:18

Genera un arreglo unidimensional regular de 7 elementos descendentes (-0.5) a partir de 0

V_0_neg=0:-0.5:-3

Vectores con intervalo regular


Linspace es un comando en matlab que permite generar el espaciamiento lineal entre X=xn1:xn2
a. Genera el espaciamiento lineal de un arreglo unidimensional regular de 5 elementos que
incremente 1 hasta 10
Escribe en command window:
vlns=linspace(1,10,5)

Ahora genera 12 valores con el mismo incremento


Escribe:
vlns12=linspace(1,10,12)
Formato=(Valor Inicial, Valor Final, Número de valores de espaciamiento)

Logspace es un comando en matlab que permite generar el espaciamiento logarítmico entre


X=xn1:xn2
b. Genera el espaciamiento logarítmico de un arreglo unidimensional regular de 5 elementos
que incremente 10 hasta 100,000.
Escribe:
vlog=logspace(1,5,5)
Formato=(Log 10 Inicial, Log 10 Final, Valores a Mostrar)

Nota: Logspace requiere que en los primeros


2 valores se ingrese las potencias de 10

LINSPACE/LOGSPACE
Genera un vector con 7 valores: Para obtener (n) cantidad de valores dentro de un
vector, escribe:
v=[7 8.8 9.5 9.9 6 7.8 8]
v3_5=v(3:5)
Para obtener el valor 3 que es 9.5 escribe:
En este caso se obtuvieron los valores 3, 4 y 5 del
v(3) vector v

Te darás cuenta que generó una variable llamada ans Obtén los valores de los elementos con incremento (2)
con el valor 9.5 del 1 al 7 del vector v
Genera variables a cada elemento dentro de tu vector
Escribe: Escribe:

v3=v(3) v1_7=v(1:2:7)
v5=v(5)...etc.
Se obtuvieron 4 valores del vector v con un intervalo
Dependerá si solo quieres observar o almacenar los de 2
elementos individuales de tu vector.
Captura los elementos 1 4 6 y 7 del vector v
Si tienes un vector con muchos elementos y quieres
obtener el elemento final escribe: Escribe:
Vfinal=v(end) | El penúltimo sería: Vpen=v(end-1), etc...
vsp=v([1 4 6 7])

ELEMENTOS INDIVIDUALES DENTRO DE UN VECTOR


Genera un archivo PDF donde coloques la evidencia de los 7. Genera 3 variables con valores exponenciales y
ejercicios que resuelvas en el transcurso de clase. realiza operaciones con las mismas variables.
Recuerda que la práctica es esencial para la mejora de tus
habilidades. 8. Genera un arreglo unidimensional de una variable “x”
en workspace
1. Define con tus propias palabras:
9. Genera una matriz 4x4 de un vector con 4
Variable: componentes en workspace

Arreglo unidimensional: 10. Genera un arreglo unidimensional regular de 15


elementos descendentes (1) desde 7 hasta -7
Matriz:
11. Genera un arreglo unidimensional regular de 10
2. Describe la interfaz HOME de Matlab (Ilustra de ser
elementos que incrementen (3) a partir de -9
necesario).

3. ¿Cual es la función de RUN ? 12. Del vector de 15 elementos genera las variables
para los elementos 1, 3, 4, 7, 10, 13 y 15.
4. ¿Qué es la depuración?
13. Determina el espaciamiento lineal de 4
5. Nombra 3 de las 7 reglas para nombrar variables elementos del vector de 10 elementos.

6. Menciona 5 keywords que no puedes utilizar como 14. Genera un arreglo unidimensional regular de 1000
variables. elementos ascendentes desde 0 con incremento
de 8, obtén la variable del elemento final.

EJERCICIOS
Variables
Vectores
Unidimensional
Variable en programación es
una unidad de datos que puede
cambiar de valor. Es la forma
más simple de almacenamiento,
representando una zona de Los Arreglos se utilizan para almacenar
un conjunto de variables, que sean del
memoria donde se almacena un

Arreglos
mismo tipo de dato, y todas estas bajo
elemento de datos. un mismo nombre.

Matrices
Bidimensional

VARIABLES, VECTORES, MATRICES


find es un comando en Matlab que me va brindar la
información de los elementos que existen en mi
vector.

Escribe V2=find(V1)

Obtén el penúltimo elemento del vector V1

Escribe: V3=V1(92) ó V3=V1(end-1)

Detección de últimos elementos de un vector


MATLAB
Capacitación Para Principiantes:
Sesión 3

MATRICES
EXTRACCIÓN
OPERACIONES
FUNCIONES
Intenta con diferentes valores en zeros(n) y observa los
1 -7 -3.5 resultados, genera una conclusión en tu reporte.
2.5 0.2 5
Escribe en Matlab
m= m=[1,-7,-3.5;2.5,0.2,5;6,0.9,8.9]
6 0.9 8.9
1 1 1
1
Escribe en Matlab
Genera la transpuesta con mt=m’ 1 1
m2= m2=ones(3)
1 1 1
0 0 0
0 0 0 Escribe en Matlab Intenta con diferentes valores en ones(n) y observa los
m1=
0 0 0 m1=zeros(3) resultados, genera una conclusión en tu reporte.

Detección de últimos elementos de un vector / Matrices


Una matriz identidad o unidad de orden n es La función rand crea una matriz cuadrada con valores
una matriz cuadrada donde todos sus elementos son aleatorios
ceros (0) menos los elementos de la diagonal principal
que son unos (1). Escribe : m4=rand(7)
EL formato para generar matrices no cuadradas es el
1 0 0
0 1 0
Escribe en Matlab siguiente:
m3= m3=eye(3)
0 0 1 M=función(filas, columnas)

Genera 3 matrices (zeros, eye y ones) no cuadradas


Intenta con diferentes valores en eye(n) y observa los
resultados, genera una conclusión en tu reporte.
Escribe : m5=zeros(3,4); m6=eye(4,3); m7=ones(5,6)

Genera una matriz cuadrada de enteros que sumen lo Genera una matriz cuadrada (3x3) de valores aleatorios
mismo las filas y columnas: y obtén el dato de la fila 2, columna 2.
0.1190 0.3404 0.7513
8 1 6
Escribe en Matlab m9=rand(3) 0.4984 0.5853 0.2551
3 5 7 0.9597 0.2238 0.5060
4 9 2 m8=magic(3)
me=(filas, columnas). Escribe: m2_2=m9(2,2)
Intenta con diferentes valores en magic(n) y observa
m2_2= 0.5853
los resultados, genera una conclusión en tu reporte.

Matriz Identidad, Aleatoria, Magic y Elementos de una Matriz


Elementos de filas y columnas: Operaciones básicas de Matrices
Genera 2 matrices A y B:
A=[-9 2 4;4 -8 0;1 6 4]
B=[-7 0 1;3 1 9;-4 7 -9]
1 2 3
Escribe en Matlab Suma A+B | Resta A-B | Multiplica A*B | Divide A/B y B/A
m10= 4 5 6
7 8 9 m10=[1:3;4:6;7:9])
Obtén la determinante e inversa de la matriz A y B

d=det(B) | D=det(A) | i=inv(A) | I=inv(B)


Captura todos los datos de la fila 3:
m10_3_x=m10(3,:) Multiplica la matriz A por una constante x y multiplica x por la
Captura todos los datos de la columna 1: suma de A y B
m10_x_1=m10(:,1) x=7 | m_A=x*A | s_AB=x*(A+B)
Captura el último elemento de la matriz:
m_end=m10(end,end) Eleva al 2, 3 y 4 la matriz A
Captura el 1er y 2do elemento de la fila 2 A^2 | A^3 | A^4
m_1_2=m10(2,1:end-1)
Captura el 2do y 3er elemento de la Eleva al 5, 6 y 7 la matriz B
columna 3
m_2_3=m10(2:3,3) ó m_2_3=m10([2 3],3) B^5 | B^6 | B^7
ó m_2_3=m10(end-1:end,3)

Extracción de Elementos de una Matriz/Operaciones básicas


HELP EN MATLAB
HELP EN MATLAB
HELP EN MATLAB
HELP EN MATLAB
1. Genera un vector de + de mil datos, multiplícalo por un 5. Describe como utilizar la notación científica
número aleatorio con decimales y extrae los últimos 4
elementos en un solo vector. 6. ¿Como obtienes valores con 14 decimales?

2. Genera la matriz transpuesta de una matriz 4x4 7. ¿Cómo redondeas valores al decimal más cercano?

3. Utiliza las funciones eye, rand, zeros y ones, para 8. Ingresa format shortg y escribe valores de 1 hasta 6
obtener matrices cuadradas, realiza operaciones entre decimales, observa los resultados y escribe una
ellas y con constantes. conclusión

SUMA | RESTA | EXPONENCIAL | DIVISIÓN | MULT | 9. ¿Cuál es el formato default de Matlab?

4. De una Matriz 5x5, extrae los siguientes datos: 10. Describe el formato bank

(3,5) | (4,2) | (1,3) | (5,4) 11. ¿Cuál es el resultado de 7,8,-9,5,4,-3,-4,-5,5,-5,5 en


format+?
Fila 5 | Columna 5 | Últimos 2 datos de la fila 3
12. Genera las fracciones de 0.5 | 0.6 | 0.8 | 0.15 | 0.85 | 0.12
Primeros 2 datos de la fila 1 | en format rat

El primer y el último dato de la fila 4

El segundo y tercer dato de la columna 4

Los últimos 2 datos de la columna 3

EJERCICIOS
MATLAB
Capacitación Para Principiantes:
Sesión 4

RESOLUCIÓN DE EJERCICIOS
FUNCIONES
Notación Científica: Expresa números muy grandes o muy
pequeños, expresa un valor como un número entre 1 y 10
multiplicado por una potencia de 10

Número de Avogadro: 602,200,000,000,000,000,000,000

Matlab: A=6.022e23

Diámetro de un Átomo: 0.0000000000140 metros

Matlab: Atm=1.4e-10

Formato default: (format short) X=7 | Y=7.7

Formato largo: format long | Y (14 cifras decimales)

Formato banco: format bank | P=3.14159 (2 cifras decimales)

Nota: al realizar operaciones tomará en cuenta todos los


decimales pero solo mostrará los decimales respecto a la
configuración programada.

Formato corto: format short (default) | P (4 cifras decimales)


format short | V=[-1 2 3 -8 -9 7 -6] | format shortg (elimina los
“0s” a la derecha | V | format + | V

Resultado: -++--+- (en 0 no desplegará nada)

format rat | f=0.5 | resultado: 1/2


FORMATO DE SALIDA | FUNCIONES INTERNAS
Función Descripción
abs(x) Valor absoluto
sqrt(x) Raíz cuadrada
nthroot(x,n) Enésima raíz real

sign(x) Signo (- +)
rem(x,y) Residuo de x/y
exp(x) Calcula el exponencial
log(x) Calcula el logaritmo natural
Log10(x) Calcula el logaritmo base 10
Ejemplos:
abs(-7) | sqrt(9) | nthroot(4,2) = 4^1/2| -1, 0 y 1 | rem(10,3) | exp(21) |

Logaritmo Natural “log(x)” tiene base e = # de Euler, no confundir con matemáticas donde log es
logaritmo base 10 | Ejemplos: log(1) |

Logaritmo base 10 =log10(x) | Ejemplos: log10(0) | log10(1) | log10(10)

FUNCIONES MATEMÁTICAS
Función Descripción Ejemplos:
round(x) Redondea x al entero más cercano
X=12 | Y=2.5 | z=3 | Z=14 | y = [1 3 4 7 10 11]
fix(x) Redondea x al entero más cercano a x
floor(x) Redondea x al entero más cercano al ∞negativo factor(X) | gcd(12,18) | lcm(6,8) | rats(Y) | factorial(z) =
ceil(x) Redondea x al entero más cercano al ∞ positivo 1x2x3x4
primes(Z) | isprime(y)
Ejemplos:
Función Descripción
X=6.25416 | x=6.82416 | y=-42.08 | Y= 42.7
factor(x) Muestra factores primos de x
round(x) | fix(x) | floor(y) | floor(Y) | ceil(y) | ceil(Y) gcd(x) Obtiene el máximo común denominador de x & y
lcm(x) Obtiene el mínimo común múltiplo de x & y
rats(x) Representa x como fracción
factorial(x) Determina x!
primes(x) Obtiene los números primos menores a x
isprime Verifica su un número es primo (1=primo ; 0=noprimo)

FUNCIONES DE REDONDEO Y DISCRETAS


Función Descripción (Radianes) Función Descripción (Grados)
sin(x) Seno sind(x) Seno
cos(x) Coseno cosd(x) Coseno
tan(x) Tangente tand(x) Tangente
cot(x) Cotangente cotd(x) Cotangente
sec(x) Secante secd(x) Secante
csc(x) Cosecante cscd(x) Cosecante

Función Descripción (Radianes) Función Descripción (Grados)


asin(x) Seno Inverso asind(x) Seno Inverso
acos(x) Coseno Inverso acosd(x) Coseno Inverso
atan(x) Tangente Inverso atand(x) Tangente Inverso
acot(x) Cotangente Inverso acotd(x) Cotangente Inverso
asec(x) Secante Inverso asecd(x) Secante Inverso
acsc(x) Cosecante Inverso acscd(x) Cosecante Inverso

FUNCIONES DE TRIGONOMÉTRICAS
MATLAB
Capacitación Para Principiantes:
Sesión 5
CONTINUACIÓN FUNCIONES
DE ANÁLISIS DE DATOS
FUNCIONES DE NÚMEROS
COMPLEJOS
GRAFICACIÓN 2D
Funciones de Análisis de datos
Obtén el máx y min de un set de datos y la posición de los elementos:
158
x= 2 6 4 y= 453

Máximo: max(x) | max(y) | [a,b]=max(x) | [a,b]=max(y) | max(y’) para obtener el máximo en filas

Mínimo: min(x) | min(y) | [a,b]=min(x) | [a,b]=min(y) | min(y’) para obtener el min en filas

Suma y multiplica todos los elementos de x & y

sum(x) | sum(y) cumsum(x) | cumsum(y) | prod(x) | prod(y) | cumprod(x) | cumprod(y)

Ordena los datos de x. y & y’ por default y descendente

sort(x) | (sort(y) | sort(y’) | sort(x,’descend’) | sort(y,’descend’) | sort(y’,’descend’) | sortrows(y,n) siendo n


la columna que se quiere acomodar.
Números complejos
Los números complejos tienen dos partes: La real y la imaginaria -> 5+2i

Escribe: I=5+2i | i=5+2j | J=complex(5,2) |

Dados 2 vectores: a=[1 -1 4 7] & b=[-6 -2 4 -6]

Utiliza la función complex para generar una parte real y otra imaginaria

abi=complex(a,b)

Obtén la parte real e imaginaria de J por separado

real(J) | imag(J)

La función isreal sirve para determinar si existe un número complejo o real,


“0” significa existencia de “i”, “1” significa que no hay existencia de “i”

Escribe: isreal(J) | isreal(40)

La función conj genera el conjugado (cambio de signo). Escribe: conj(J);


Graficación 2D en Matlab
1. Define los vectores dt & y siendo dt=muestreo (t) & y una función dependiente del tiempo

dt=0:0.1:100; %Intervalo de muestreo (tiempo)

y=5*sin(dt); %Función seno dependiente del tiempo

Para graficar escribe: plot(dt,y)

Atributos de una gráfica:

>>title(‘Función Seno’) %Esto es el título del gráfico


>>xlabel('tiempo (s)') %Esto es el título del eje x
>>ylabel('amplitud') %Esto es el título del eje y
>>grid on %Genera Mallado
>>legend ('Función Seno')%Genera distinción

Genera un nuevo vector: x=3* cos(4*dt)


hold es un comando para que no borre el gráfico, sino lo congele
>>hold
>>plot(dt,z)
Para graficar 2 funciones en un mismo plot, figure
también puedes utilizar: subplot(2,1,1)
plot(dt,y)
plot(x,y,x,z) title('Función Seno')
xlabel('tiempo (s)')
ylabel('amplitud')
O bien, se pueden gráficar las funciones
subplot(2,1,2)
separadas con el comando:
plot(dt,x)
title('Función Coseno')
close all xlabel('tiempo (s)')
%Plotear en distintas figuras ylabel('amplitud')
figure(1)
plot(dt,y)
figure(2)
plot(dt,x)
%Subplot: 2 gráficas en 1 figura

subplot(x,y,z)

x: filas | y: columnas| z: axe actual

Continuación gráficas 2D
Edición
Edición
%linewidth modificará el grosor de las líneas
plot(dt,y,'c',dt,x,'--k','linewidth',3)
plot(dt,y,'c',dt,x,'--k','linewidth',6)
%set es la función que va a permitir
modificar los números de los ejes
set(gca,'FontSize',25)

plot(dt,y,'c',dt,x,'--k')

plot(dt,y,':m',dt,x,'-or')

Edición: líneas, colores, fuentes, grosor.


MATLAB
Capacitación Para Principiantes:
Sesión 6
CONTINUACIÓN GRAFICACIÓN 2D
PROPIEDADES DE TEXTO
SET | DOCK
GRÁFICAS POLARES
plot(dt,y,'c',dt,x,'--k','linewidth',6) text(12,7,'cresta')
title('Función Sen y Cos (\sigma)','FontSize',20)

%Formato de axis
%axis([XMN XMAX YMN YMAX]):
axis([3 7 -1 1])

axis([0 30 -20 20])

%Formato de texto
%text(x,y,’texto’)
%x: posición en x funciona en text y otras
%y: posición en y funciones de plot
NOTA: Para borrar el texto escribe: %Formato de letras grie
t(1).Visible='off' ó t(1).Color=’white’ title(‘nombre’(‘\sigma’)) “help plot” para más información

Escalamiento de ejes, texto adicional, letras griegas


Genera un vector x con un espaciado lineal de 200
valores entre -10 y 10, también genera una función
coseno de x y gráfica los datos Cambia los valores en eje x y en x & y. Específica
ubicaciones crecientes. También
clear;clc;close all
x=linspace(-10,10,200); subplot(2,1,2)
y=cos(x) plot(x,y)
figure(1) title(‘Función Cos de x’)
subplot(2,1,1) %help xticks en matlab
plot(x,y) xticks([-3*pi -2*pi -pi 0 pi 2*pi 3*pi])
title(‘Función Cos de x’) %help xtickslabels en matlab
xticklabels({'-3\pi','-2\pi','-\pi','0','\pi','2\pi','3\pi'})
xtickangle(45)
yticks([-1 -0.8 -0.2 0 0.2 0.8 1])

Cambiar etiquetas
Genera 1 gráfica en figure (1), utiliza las funciones vistas hasta el
momento y edita tu gráfico.

Genera 2 gráficas en figure (2), utiliza las funciones vistas hasta el


momento y edita tu gráfico.

Genera 2 gráficas (subplot) en figure (3), utiliza las funciones vistas


hasta el momento y edita tu gráfico.

Genera 2 gráficas en figure (4) y figure (5), utiliza las funciones vistas
hasta el momento y edita tu gráfico.

Genera 3 gráficas en figure (6), utiliza las funciones vistas hasta el


momento y edita tu gráfico.

Genera 4 gráficas (subplot)en figure (7), utiliza 2 filas y 2 columnas,


también utiliza las funciones vistas hasta el momento y edita tu
gráfico.

EJERCICIOS
MATLAB
Capacitación Para Principiantes:
Sesión 7

GRÁFICAS POLARES
LOGARITMICAS
BARRAS | PASEL
HISTOGRAMA
3D
Gráficas Polares a=[0:pi/4:pi];
b=2*sin(a);
polar(a,b)
graficaspolares.m

Consisten en trazos circulares que permitirán observar


datos a través de ángulos. Utilizados en matemáticas y
estadística.

Formato:

polar(theta,r) | polar función que permite la generación


de gráficas polares | theta: es el primer parámetro de
graficación, es un ángulo en radianes | r: es la distancia
radial | Es necesario que thata y r sean vectores de
misma longitud.

Escribe:
x=[0:pi/100:pi] theta=[0:0.01*pi:2*pi]; theta1=linespace(0,6*pi)

y=sin(x); r=5*cos(4*theta); rho=[theta3/10]

polar(x,y); polar(theta,r); polarplot(theta3, rho,’y’)


Gráficas Logarítmicas
Ejemplo: Gráfica y=5x.^2 con los 4
enfoques de escalamiento.
Una escala logarítmica se utiliza para .* & *
representar arreglos que contengan valores
de gran magnitud, ya que podemos graficar .* Multiplicación elemento por elemento
sin la necesidad de comprimir valores chicos.
Estos gráficos también son útiles para
* Multiplicación de matrices
representar datos que varían
exponencialmente.
C = A. ^ B eleva cada elemento de A a las
Gráficas Logarítmicas (Funciones) potencias correspondientes en B. Los
tamaños de A y B deben ser iguales o
plot(x,y) Gráfica lineal (x,y)
compatibles
semilogx(x,y) Escala log solo en x
C = A ^ B calcula A elevado a B y devuelve el
semilogy(x,y) Escala log solo en y resultado en C.
Genera: a=[1:3] | b=[4:6] | bt=b´ |
loglog(x,y) Escala log en x & y
Realiza: a*b | a.*b | a*bt | a.*bt |
Gráficas Logarítmicas

.^& C = A. ^ B eleva cada elemento de A a las


potencias correspondientes en B. Los
tamaños de A y B deben ser iguales o
compatibles
^ C = A ^ B calcula A elevado a B y devuelve el
resultado en C.

Reglas generales
Los tamaños de vectores y matrices deben ser
compatibles (mismo tamaño)

Realiza: a^b | a.^b | a^bt | a.^bt |


.^ Potencia elemento por elemento

^ Potencia de matrices
Gráficas Logarítmicas
Crea un Script: subplot(2,2,4)
x=0:0.5:50; %Vector x loglog(x,y) %Grafica Logarítmica en x/y
y= 5*x.^2; %Función y title('Polinomial - Log/Log')
subplot(2,2,1) xlabel('x'),ylabel('y'), grid
plot(x,y)
title(‘Polinomial Lineal’)
ylabel(´y´), grid

subplot(2,2,2)
semilogx(x,y) %Gráfíca Logarítmica en x
title(‘Polinomial Log/Lin’)
ylabel(‘y’), grid

subplot(2,2,3)
semilogy(x,y) %Gráfica Logarítmica en y
title(‘Polinomial Lin/Log’)
xlabel('x'),ylabel('y'), grid
Gráficas de Barra, Pastel e Histograma

Funciones para graficar barras, pastel e histograma

bar(x) Gráfica de barras de un vec o mat

barh(x) Gráfica de barras horizontal

bar3(x) Gráfica de barras 3D

bar3h(x) Gráfica de barras horizontal 3D

pie(x) Gráfica de pastel, cada elemento de la


matriz es una porción

pie3(x) Gráfica de pastel 3D

histogram(x) Genera un histograma


Gráficas de Barra
clear, clc subplot(2,2,4)
x=[1,2,5,4,8]; bar3h(x)
y=[x;1:5]; title(‘gráfica de barras 3D de matriz y horizontal’)
figure
subplot(2,2,1)
bar(x)
title(‘Gráfica de Barras vector)
subplot(2,2,2)
bar(y)
title(‘Gráfica de barras matriz ’)
subplot(2,2,3)
bar3(y)
title(´Gráfica de Barras 3D de vector)
Gráficas de Pastel Histograma
% Grafica de Pastel %Histograma
figure x=[88 95 100 77 68 98 99 99 59 70 83 89 60 92 90]
subplot(1,2,1) figure
pie(x) %Gráfica Pastel subplot(1,2,1)
title('Grafica de Pastel de x') histogram(x)
subplot(1,2,2) title(‘histograma’)
pie3(x) %Gráfica Pastel 3D subplot(1,2,2)
title('Grafica de Pastel de x tridimensional') histogram(x,30)
title(‘histograma con
modificación de bins’)
¿BINS?

Los histogramas resumen visualmente la Conocer la distribución de los datos es un


distribución de una variable numérica paso importante en el proceso de
continua midiendo la frecuencia con la exploración de esos datos.
que determinados valores aparecen en
el dataset. El número de bins coincide de manera
predeterminada con la raíz cuadrada del
número de registros del dataset.
En un histograma, el eje x es una línea
numérica que se ha dividido en rangos Cambiar el número de bins permite ver más
de números o bins. Para cada bin, se o menos detalle en la estructura de los
dibuja una barra en la que el ancho de datos.
la barra representa el rango del bin y la
altura de la barra representa el número
de puntos de datos incluidos en ese
rango.
FUNCIONES DE GRÁFICAS 3D

plot3(x,y,z) Crea una gráfica tridimencional

comet3(x,y,z) Genera una versión animada de plot3

mesh(z); mesh(x,y,z) crea una superficie de malla

surf(z);surf(x,y,z) crea una superficie similar a la función mesh

shading interp Interpola entre los colores usados para ilustrar gráficas de superficie

shading flat Colorea cada sección de retícula con un color sólido

colormap(map_name) Permite al usuario seleccionar el patron de color a usar e las gráficas de superficie

countour(z) Genera una gráfica de contorno


countour(x,y,z)

surfc(z); surfc(x,y,z) Crea una gráfica de superficie combinada con una gráfica de contorno

pcolor(z); pcolor(x,y,z) Crea una gráfica en pseudocolor

GRÁFICAS 3D
clear;clc;close all figure figure
x=linspace(0,10*pi,1000); plot3(x,y,z) comet3(x,y,z)
y=cos(x); grid grid
z=sin(x); xlabel('ángulo') xlabel('ángulo')
%2D ylabel('cos(x)') ylabel('cos(x)')
figure zlabel('sen(x)') zlabel('sen(x)')
subplot(2,1,1) title('resorte') title('resorte')
plot(x,y) pause %detiene el
title('función cos(x)') programa hasta este
subplot(2,1,2) punto, para continuar
plot(x,z) oprimir enter en comand
title('función sen(x)') window

Gráfica Lineal 3D “plot(x,y,z) & comet3(x,y,z)”


Apóyate de help para realizar los siguientes ejercicios, además
explícalos, menciona el ejemplo que utilizaste, como lo modificaste y
adjunta tu script con el pdf de evidencias.

Genera 2 gráficas polares distintas a las vistas en clase, explícalas.

Genera 4 gráficas logarítmicas.

Con tus propias palabras define bins en un histograma.

escribe los 6 términos de subplot si quisieras graficar 6 veces en un


solo figure

describe paso a paso la graficación 3D con plot.

Genera una gráfica con comet3

Gráfica Lineal 3D “plot(x,y,z) & comet3(x,y,z)”


MATLAB
Capacitación Para Principiantes:
Sesión 8

GRÁFICAS SUPERFICIE
FUNCIONES DE GRÁFICAS 3D

plot3(x,y,z) Crea una gráfica tridimencional

comet3(x,y,z) Genera una versión animada de plot3

mesh(z); mesh(x,y,z) crea una superficie de malla

surf(z);surf(x,y,z) crea una superficie similar a la función mesh

shading interp Interpola entre los colores usados para ilustrar gráficas de superficie

shading flat Colorea cada sección de retícula con un color sólido

colormap(map_name) Permite al usuario seleccionar el patron de color a usar e las gráficas de superficie

countour(z) Genera una gráfica de contorno


countour(x,y,z)

surfc(z); surfc(x,y,z) Crea una gráfica de superficie combinada con una gráfica de contorno

pcolor(z); pcolor(x,y,z) Crea una gráfica en pseudocolor

Gráficas de superficie
Las gráficas de superficie se utilizan al
buscar combinaciones óptimas entre dos
conjuntos de datos, por ejemplo, un mapa
topográfico. Tanto el coloreado como los
tramas son indicadores de áreas dentro
del mismo rango de valores.
5 8 9 2 6 3 2
Con motivos de ejemplificar la graficación
2 5 4 3 6 9 8
de superficie: “mesh, surf & contour(2D)”
6 6 5 9 8 2 1
genera una matriz 3x10 denominada z,
2 3 7 7 4 6 5
donde la primer fila sea de 1 a 10, la
segunda de 2 a 20 y la tercera de 3 a 12.
y=4
x=7
Donde z serán los datos dentro de la
z=todos los valores dentro de
matriz y el volumen del gráfico, (x) serán
la matriz
las columnas de la matriz y (y) las filas de
la matriz, las cuales detectará Matlab por
default

Gráficas de superficie “mesh”


Script:
clear all; clc; close all

z=[1:10;2:2:20;3:12]
figure(1)
mesh(z);
xlabel(‘eje x’)
ylabel(‘eje y’)
zlabel(‘eje z’)

La gráfica es una “malla” (“mesh”) creada al conectar Extrae la imagen, detecta los datos
los puntos definidos en z en una retícula rectilínea. graficados y márcalos con un círculo.

Gráficas de superficie “mesh”


La función mesh también se puede usar
con tres argumentos: mesh(x,y,z). En
este caso, x es una lista de
coordenadas x, y es una lista de
coordenadas y, y z es una lista de
coordenadas z.

x=linspace(1,50,10)
y=linspace(500,1000,3)
z=[1:10;2:2:20;3:12]
figure(2)
mesh(x,y,z)
xlabel(‘eje x’)
ylabel(‘eje y’)
zlabel(‘eje z’)

A pesar de ser una gráfica similar, nota


la diferencia en las escalas.

Gráficas de superficie “mesh”


Graficación similar a “mesh” , sin embargo ...pause
“surf ” permite crear una superficie 3D figure(3)
coloreada. Donde podremos identificar surf(x,y,z)
valores de un mismo rango en determinadas shading interp
zonas de la gráfica o “mapeado”. title(‘mapeado con
Cuenta con un esquema de sombreado interpolación’)
llamado shading y tiene 3 variables: xlabel=(‘eje x’)
ylabel=(‘eje y’)
● shading interp: un coloreado con base zlabel=(‘eje z’)
en la interpolación.
● shading flat: un coloreado plano. pause
● shading faceted: coloreado por facetas figure(4)
Genera el mapeado “surf” con los datos de x, surf(x,y,z)
y & z previamente generados. Presenta los 3 shading flat
ejemplos de shading. title(‘mapeado plano’)
xlabel=(‘eje x’)
Representa el código en el script ylabel=(‘eje y’)
previamente generado y utiliza pause entre zlabel=(‘eje z’)
cada ejercicio. ...

Gráficas de superficie “surf ”


...pause
figure(5)
surf(x,y,z)
%El formato default de “surf ” es shade
facet.
title(‘mapeado default’)
xlabel=(‘eje x’)
ylabel=(‘eje y’)
zlabel=(‘eje z’)

Gráficas de superficie “surf ”


...pause
figure(6)
surf(x,y,z)
shading interp
Colores para colormap colormap(colorcube)
title(‘prueba de colores’)
xlabel=(‘eje x’)
jet gray hot ylabel=(‘eje y’)
(default) zlabel=(‘eje z’)

autumn colorcube hsv

spring cool pink ...pause


figure(7)
surf(x,y,z)
summer copper prism
shading interp
colormap(autum)
winter flag white title(‘prueba de colores’)
xlabel=(‘eje x’)
ylabel=(‘eje y’)
Para más información: help colormap zlabel=(‘eje z’

Coloreado
Edición
Ejemplo:
figure(1)
whitebg(‘c’)
subplot(2,1,1)
colordef white
figure(2)

Figure
subplot(2,1,1)

whitebg es un comando que permitirá modificar el color de


tu figure y del gráfico (Backgroundcolor), puedes utilizar los
mismos términos de colores que utilizas para cambiar color
de líneas.
Para regresar al estilo default del programa solo utiliza el
siguiente comando:
colordef white
Escribe:
Formato: clear all; clc; close all
[X,Y]=meshgrid(x,y) x=[-2:0.2:2];
y=[-2:0.2:2];
“meshgrid” replica los valores de [X,Y]=meshgrid(x,y);
cuadrícula “x” & “y” para producir
observa los resultados
coordenadas de una cuadrícula
después escribe:
rectangular (X,Y). El vector de cuadrícula
x se replica y veces para formar [X,Y]=meshgrid(-2:0.2:2);
columnas de X. El vector de cuadrícula y
se replica x veces para formar las filas te darás cuenta que los resultados son
de Y. exactamente iguales.
Genera una matriz para obtener las
Así podremos generar matrices para coordenadas de graficación, donde X
trabajar con “mesh & surf”. multiplique al exponencial de -X al cuadrado
menos Y al cuadrado

Z=X.*exp(-X.^2-Y.^2); %función 3D con picos


invertidos.

Gráficas de superficie “meshgrid”


Escribe:

subplot(2,2,1) subplot(2,2,3)
mesh(X,Y,Z) contour(X,Y,Z)
title(‘Gráfica mesh’) title(‘Gráfica de contorno’)
xlabel(‘eje x’) xlabel(‘eje x’)
ylabel(‘eje y’) ylabel(‘eje y’)
zlabel(‘eje z’) Las gráficas de contorno “contour” son
la representación 2D de la superficie 3D.
pause pause
La función “surfc” me permitirá gráficar
subplot(2,2,2) simultáneamente una gráfica surf, con subplot(2,2,4)
surf(X,Y,Z) una representación 2D “contorno”. surfc(X,Y,Z)
shading interp shading interp
title(‘Gráfica surf interpolada’) title(‘Gráfica surf y de contorno
xlabel(‘eje x’) interpolada’)
ylabel(‘eje y’) xlabel(‘eje x’)
zlabel(‘eje z’ ylabel(‘eje y’)
pause zlabel(‘eje z’)

Gráficas de superficie “contour & surfc”


Comparación de Resultados
MATLAB
Capacitación Para Principiantes:
Sesión 9

CONTINUACIÓN GRÁFICAS SUPERFICIE


TIPOS DE PROGRAMAS
OPERADORES LÓGICOS Y RELACIONALES
TABLAS DE VERDAD
FIND
Similares a gráficas de contorno,
exceptuando la diferencia entre un mapeado
con líneas y un mapeado con sombreado
bidimensional en una retícula.

Escribe:

pcolor(X,Y,Z)

para borrar la retícula solo hay que escribir:

shading interp

Pseudo Color
Programas

Secuencias: Estructura de repetición


● Conocido como bucle
● Listas de comandos ● Ejecución de un grupo de
que se ejecutan una Estructura de selección enunciados
después de otra ● El # de ejecución es
● Ejecución de comando ó conjunto de dependiente de un
comandos si algún criterio es verdadero y contador o de la
un segundo comando o conjunto si el evaluación de la condición
criterio es falso. lógica
● Basado en condiciones lógicas
● Se utilizan operadores relacionales, lógicos
y funciones.

Secuencias y Estructuras
● Son verdaderos o falsos, en Matlab se utiliza
el 1 para indicar verdadero y 0 para indicar
falso.
● Generalmente las comparaciones se utilizan
Operador Relacional Interpretación
dentro de los condicionales para ejecutar o
bien parar o saltar partes del código. < Menor que
● Existen 2 tipos de operadores dentro de
Matlab: los operadores lógicos y los <= menor o igual a
operadores relacionales:
> mayor que

Operador Lógico Interpretación >= mayor o igual a

& and == igual a

~ not ~= diferente

| or

xor or exclusiva

Comparadores
And &:
And entre 2 o más condiciones será verdadero (1) siempre y cuando las
condiciones sean verdaderas, con una condición que sea falsa and será falso
(0).

Or |:
Or entre 2 o más condiciones será falso (0) siempre y cuando las condiciones
sean falsas, con una condición que sea verdadera or será verdadero (1).

Not ~:
Solo es negar, si niego una falsedad se vuelve verdadero, si niego una verdad
se vuelve falso.

Or Exclusiva xor:
Dará verdadero siempre y cuando una parte de la condición sea verdadera y
dará falso siempre y cuando las condiciones sean falsas en su totalidad o
verdaderas en su totalidad.

Comparadores
Tablas de Verdad
A B A&B A B A or B A B A or ex B

0 0 0 0 0 0 0 0 0

0 1 0 0 1 1 0 1 1

1 0 0 1 0 1 1 0 1

1 1 1 1 1 1 1 1 0

AND OR OR exclusiva

A not A

0 1

1 0

NOT
Intenta:

a=5;| b=3; | c=5; |a<b |a<=c | a>b; |a>c


|a>=c; |a==b; |a==c; |c==b; |a~=c; |a~=b; |a~=c
Realiza: a4=~(x>y)
x=1;
y=1; a5=~(x==y)

a=(x==y) & x>y 3<=10 & 5==2+3

a0=(x==y) & x>=y ~(3<=10) & 5~=2+3

a1=(x==y) | x>y ~(3<=10) | 5~=2+3

a2=(x==y) | x>=y 3<=10 | 5==2+3

a3=(x<y) | (x>y) 3<=10 | 5~=2+3

Comparadores: Operadores Lógicos


Matlab por defaul toma cualquier Matlab compara elementos
número distinto de 0 como verdadero. correspondientes y crea un vector
Ejemplo con 2 variables: respuesta de ceros y unos.
En el ejemplo previo x fue mayo que y en
x=5; cada comparación de elementos, por lo Como puedes observar matlab
y=1; que toda la comparación fue falsa y la permite combinar comparaciones
respuesta fue una cadena de 0’s. con operadores lógicos. Intenta:
al utilizar un operador relacional como
(<), el resultado de la comparación es: Intenta con: x>y | x>z
el resultado es: 11100
x<y= x=[1:5];
ans= 0 y=[-2:2:6]; Significa que la condición es
x<y verdadera para los primeros 3
Lo que indica que la comparación fue el resultado es: 00001 elementos y falsa para los últimos 2.
falsa. Matlab utiliza esta respuesta en
estructuras de repetición para tomar Indicando que la comparación fue falsa Los operadores relacionales y lógicos
decisiones. para los primeros 4 elementos y se utilizan en estructuras de
En vectores y matrices: verdadera para el último. selección y en bucles para
Intenta anexando un vector z y & (and). determinar qué comandos se deben
x=[1:5]; ejecutar.
y=x-4; z=ones(1,5)*8
x<y z>x & z>y
el resultado es: 00000 el resultado es: 11111

Comparadores: Operadores Lógicos


Este comando será de utilidad cuando trabajamos con
vectores o matrices, principalmente en la importación de
algún archivo como excel.

Busca los índices y valores de elementos no nulos de un


vector a una matriz.

Formato: k=find(X)
k: es el resultado de los índices que buscamos.
X: es el vector o matriz que será afectado por la función.

Genera el vector columna:

x=[1 3 3 4 0 3 2 1 5 0] ’ ;

k=find(x)

El resultado serán todos los índices donde se encuentran


datos superiores a 0

Función Find
Intenta:
k=find(x==3)

El resultado serán todos los índices donde se encuentra el # 3

k=find(x>=4)

El resultado serán todos los índices donde los valores sean iguales o
superiores a 4.

k=find(x>1 & x<3)

El resultado serán todos los índices donde x sea mayor que 1 y menor que 3.

Genera una matriz porcentual de 20 datos +1dato con valor de 50


x = [rand(1,20)*100 50]

Encuentra los números que estén en el intervalo de 35% y 75% excluyendo 50%
k1=find(x>35 & x<50 | x>50 & x<75)

Función Find
MATLAB
Capacitación Para Principiantes:
Sesión 10

CONTINUACIÓN FIND
INPUT | FPRINTF | DISP
DERIVACIÓN | VARIABLES SIMBÓLICAS
A=magic(4) Existe intersección donde y1 & y2 tienen los mismos
valores:
A>5
p=find(y1==y2)
AF=find(A>5)
El resultado serán los índices donde y1 es igual a y2,
El resultado serán todos los índices (de un dato) recuerda que la matriz tiene 201 elementos.
donde los valores sean iguales o superiores a 5 en
modo de vector columna. Obtén los valores donde y1==y2:

[px,py] = find(A>5) p1=y1(p)


p2=y2(p)
El resultado serán todos los índices (m,n) donde los
valores sean iguales o superiores a 5. hold
plot[y1(p),y2(p),’co’,’linewidth’,2]
De 2 funciones (recta y parábola) encuentra los puntos
de intersección.

x=0:0.01:2;
y1=x;
y2=x.^2;
plot(x,y1,x,y2)

Función Find
disp: Permite mostrar texto en pantalla. Es una
función que permite mostrar un mensaje de
input texto al usuario
disp Formato:
fprintf disp(‘mensaje de texto’)

input: Permite introducir datos. Es una función


que permite interactuar al usuario con el
programa ingresando los datos solicitados.

Formato:

variable=input(‘texto de pantalla’)

fprintf: me va a permitir mostrar valores de


variables, en pantalla
Formato:
fprintf(‘texto a mostrar [%\formato]’,variable a mostrar)
Tabla de formatos %

%d | %i Entero con signo

%g Formato con decimales sin ceros finales

%f | %e Formato con decimales (4 decimales)

%s Vector de caracteres o de cadenas

‘’ Comilla simple

%% Carácter de porcentaje

\\ BackSlash

\n Salto de línea
Siendo la fórmula de la transformada de Fourier del
pulso Gaussiano:
PG=e-ɑ*t^2
Ejercicio clc; clear all; close all;
np=input('Número de puntos: ');
alpha=input('Alpha: ');
t=input('t: ');
dt=input('Incremento de t/intervalo de muestreo: ');
arg=-alpha;
npdt=np*dt;
tiempo=(-npdt/2):dt:npdt/2;
tiempo=tiempo-t;
pg=(exp(arg*(tiempo.^2)));
figure
plot(tiempo,pg);
title('Pulso Gaussiano')
Explicación:
El programa está solicitando 4 variables:
Ejercicio np | alpha | t | dt
Para cumplir con la fórmula, está solicitando alpha
como un número negativo.
npdt, está multiplicando np*dt que va a afectar al
tiempo, ya que se va a utilizar como intervalo.
Entonces, generamos el intervalo en la variable
tiempo, que va a ir desde -2.048 hasta 2.048 con
incrementos de dt.
Posteriormente, se genera nuevamente la variable
tiempo, donde utilizaremos la variable previamente
generada para obtener nuevos resultados, solo
restando la variable t. Obteniendo así nuestro eje X
que irá desde -2 hasta 2 (aprox).
A través de la fórmula del PG, podemos obtener
nuestro eje Y, donde tendremos valores de 0
llegando a 1 y regresando a 0.
Por último graficamos y listo.
Siendo la fórmula del PG:

pg=(exp(-a.*(t.^2)));
DERIVANDO EN Y teniendo 1025 valores almacenados en el arreglo,
MATLAB realizamos:
pdpg = diff(pg)

como resultado obtendremos 1024 datos


solamente, por lo tanto hacemos que cuadre el
tiempo de la siguiente manera:

tiempo2 = tiempo(1:1024);

y graficamos:
plot(tiempo2,pdpg)

DIFF es una función que me


permite derivar arreglos, o bien
fórmulas con el apoyo de syms.
Teniendo la variable x & z con valor de 2:
x = 2;
Variables realizamos las siguientes operaciones:

simbólicas y = 5*x^2+6*x | w = y*z


MATLAB utiliza la variable x para realizar las
operaciones obteniendo:
SYMS es una función que permite y=32 | w=64
generar variables y funciones
simbólicas (para uso de fórmulas)
Sin embargo, al utilizar la función SYMS:
syms x
Y realizando las mismas operaciones:
y = 5*x^2+6*x | w = y*z
Obtenemos lo siguiente:
y = 5*x^2 + 6*x
w = 10*x^2 + 12*x
Mostrando la efectividad de SYMS
Siendo la fórmula del PG:

pg=(exp(-a.*(t.^2)));
DERIVANDO EN obtendremos su primera derivada (pg’) de la
MATLAB siguiente manera:
declarando las variables simbólicas a & t con:

syms a

syms t
SYMS es una función que permite
generar variables y funciones determinando que se derivará pg en función de t
simbólicas (para uso de fórmulas)
diff(pg,t)
DIFF es una función que me
nuestro resultado es:
permite derivar arreglos, o bien
fórmulas con el apoyo de syms. -2*a*t*exp(-a*t^2)

obteniendo como resultado la fórmula del PG’


1. Obtén las matrices X,Y a partir de los vectores x & y 1 a 10 con
incrementos de .5 para x & de 1 a 20 con incremento de 1 para y.
2. Genera tu matriz Z sumando el senX y el cosY
3. Genera los gráficos vistos en clases con estos valores y explica
tanto el código como las gráficas.
4. ¿Cuales son los resultados de find(~X)?. No es necesario tener los
valores de X presentes, justifica.
5. Encuentre los primeros cinco elementos inferiores a 10 en una
matriz cuadrada mágica de 4 por 4.
6. Busque los tres primeros elementos en una matriz de 4 por 4 que
sean mayores que 0 y menores que 10. Especifique dos salidas
para devolver los subíndices de fila y columna a los elementos.

X = [18 3 1 11; 8 10 11 3; 9 14 6 1; 4 3 15 21]


7. Obtén la fórmula de la ondícula de ricker (pg’’) así como de los
datos de pg y gráfica.

EJERCICIOS
MATLAB
Capacitación Para Principiantes:
Sesión 11

RESOLUCIÓN DE EJERCICIOS
CONDICIONALES
Los operadores lógicos y relacionales están fuertemente
ligados con los condicionales.
Formato:
if condición
%código
end
En el caso de una comparación (expresión lógica), sea

Condicionales: verdadera, entonces se ejecutarán los enunciados dentro de


if & end. Si la comparación es falsa, el programa salta
inmediatamente al enunciado posterior a end.

If else: Lo contrario a la condición programada en if.

Else if condición
%condición verdadera
else
%condición falsa
end
Elseif: Permite comprobar criterios múltiples facilitando la
lectura del código. Se podrán anidar varios niveles de
enunciados.
Formato:
if condición
%código
elseif condición
%código

Condicionales: end

Elseif
Ejercicio 1:
Construye un programa que, al recibir como
dato el salario de un trabajador, calcule el
incremento del salario de acuerdo a lo
siguiente:
%Si percibe $15,000 o menos, su aumento será
de 15%

Ejercicios de %Si percibe + de $15,000 su aumento será del 8%


%si percibe + de $30,000 su aumento será del 5%
Clase:
Ejercicio 2:
Genera un código donde se solicite ser mayor
de edad para poder vender “x” producto a “x”
precio, considerando que solo se acepta pago
con TDC.
MATLAB
Capacitación Para Principiantes:
Sesión 12

CONTINUACIÓN CONDICIONALES
BUCLES FOR & WHILE
Bucle: Conjunto de instrucciones en
programación que se repiten hasta que una
condición de salida se satisfaga.
Se utilizan cuando se necesita repetir un
conjunto de instrucciones.
Para realizar estas repeticiones, Matlab cuenta
con 2 bucles:
For & While

Bucles (Loops) For: Es la opción cuando se conocen las veces


que se necesita repetir el bucle.
Estructura: La primera línea identifica el bucle y
For define un índice, que es un número que cambia
en cada paso a través del bucle. Después de la
línea de identificación viene el grupo de
comandos que se quiere ejecutar.Se finaliza con
While end.
While: Es la Opción cuando se necesita mantener
el bucle hasta que se satisfaga un criterio.
Estructura: Matlab decide cuántas veces repite
el bucle. Es decir, continúan hasta que se
satisface un criterio, es decir mientras el criterio
sea verdadero continuará, cuando sea falso se
detendrá.
Primeramente creamos un
índice (i), indicando que
inicie en 1 y termine en 5.
Se utilizará dentro del
bucle.
Se crea una variable (a),
que se transformará en
vector.
Al escribir a(i), le indico que
se almacenará en el vector
al resultado de i^2.
Una vez obtenido el valor
vuelve a iniciar con el
siguiente valor de i.

For
Ejercicio 3:

Grafica una función coseno, que vaya de -6pi


hasta 6pi, obtén mil elementos, genera su
función trigonométrica y representa distintas
amplitudes apoyandote del ciclo for.

Ejercicios de
Clase:
Primeramente generamos
una variable con un valor (k),
posteriormente generamos
un while y le ordenamos que
mientras k sea menor a 4,
genere un aumento de 1 en k.
Al ser verdadera la sentencia
desde 1 hasta 3,
obtendremos resultados. El
último resultado es 4, así
que ya no cumple la verdad,
sino se ha convertido en
falso, eso es suficiente para
que Matlab tome la decisión
de cerrar el bucle.

While
Ejercicio 4:

Genera una gráfica polar, de una función flor con el


apoyo de while. Considera que no será una gráfica
representada con una línea constante, sino una
gráfica de puntos simulando una animación, genera
un fondo negro y pinta cada punto de color cian.

Ejercicios de
Clase: Ejercicio 5 (anidación de condicionales en bucles):

Genera un programa que permita la multiplicación


de un número positivo (n), comenzando desde 1.
Considera que el usuario debe escribir un número
mayor a cero, de lo contrario genera una sentencia
de error y solicita que escriba nuevamente un
número, en esta ocasión válido.
Break: Se utiliza para terminar un bucle de
manera anticipada (mientras todavía es
verdadero).

Break
Continue: En este caso solo se genera una
Continue indicación donde el programa salte al paso
siguiente.
MATLAB
Capacitación Para Principiantes:
Sesión 13

CONTINUACIÓN BREAK & CONTINUE


CONTINUACIÓN BUCLES
MATLAB LIVESCRIPT
1. Obtén la primera derivada del pulso Gaussiano
2. Grafícalo utilizando el modelo del pulso Gaussiano
3. Obtén la ondícula de Ricker
4. Grafícalo utilizando el modelo del Pulso Gaussiano
5. Determine si un valor está dentro de un rango especificado:
x = 60;
minVal = 20;
maxVal = 100;
6. Crea un código con for que convierta valores de grados a radianes, desde 0 hasta
360 grados, en incrementos de 10 grados. Muestra los resultados en workspace.
7. Crea una calculadora que convierta valores de grados a radianes, desde 0 hasta
360 grados.
8. Describe las entradas y salidas.
Entrada: Valores de ángulo en grados
Salida: Un resultado de valores de ángulo tanto en grados como en radianes

EJERCICIOS
EJERCICIO DE CLASE
1. Genera el plot el PG, PG’ y Ricker a través de bucles:
Ten en cuenta que en este caso graficara punto
por punto, por lo que deberás utilizar hold,
para mostrar la función completa.
MATLAB | LIVESCRIPT | EXCEL
SESIÓN 14
EJERCICIO DE CLASE
4. Genera un LiveScript en clase del Script cicloCR
EJERCICIO DE CLASE

El coeficiente de reflexión es utilizado en física y en Ingeniería


cuando se consideran medios con discontinuidades en
propagación de ondas. Un coeficiente de reflexión describe la
amplitud (o la intensidad) de una onda reflejada respecto a la
onda incidente. El coeficiente de reflexión está estrechamente
relacionado con el coeficiente de transmisión.

Distintos campos de la ciencia tienen diferentes aplicaciones para


este término.

● Telecomunicación
● Sismología
● Óptica
● Mecánica Cuántica
EJERCICIO DE CLASE
coeficiente de reflexión
[En Geofísica]

La relación entre la amplitud de la onda reflejada y la onda incidente, o la cantidad de energía que se refleja. Si la onda posee incidencia
normal, su coeficiente de reflexión puede ser expresado de la siguiente manera:

R = (ρ2V2 − ρ1V1) / (ρ2V2 + ρ1V1),

donde

R = coeficiente de reflexión, cuyos valores varían entre −1 y +1

ρ1 = densidad del medio 1

ρ2 = densidad del medio 2

V1 = velocidad del medio 1

V2 = velocidad del medio 2.

Los valores habituales de R son aproximadamente −1 del agua al aire, lo que significa que casi un 100% de la energía se refleja y ningún
porcentaje se transmite; 0,5 del agua a la roca; y 0,2 de la lutita a la arena.

https://www.glossary.oilfield.slb.com/es/terms/r/reflection_coefficient
MATLAB
Capacitación Para Principiantes:
Sesión 15

FUNCIONES PROPIAS
GENERACIÓN DE
FUNCIONES EN MATLAB
Matlab tiene una keyword para poder generar funciones
propias, las cuales ahorrarán tiempo si es que trabajas de
manera constante con los mismos procesos.

Es necesario utilizar el siguiente formato:

function [x] =nombredetufunción(a,b)

donde:

a & b son los parámetros de entrada

x es un parámetro de salida, también puedes obtener 2


variables

nombredetufunción, es el nombre con el que vas a nombrar


a tu función.
EJERCICIO DE CLASE
2. Sigamos trabajando con el PG, PG’ y Ricker, genera una
función para cada una de las ecuaciones y obtener los
datos necesarios para su graficación.
3. Genera una cuarta función que grafique PG, PG’ y Ricker
en un solo plot.
1. Genera 2 Livescript utilizando Condicionales y Bucles para
lograr una graficación animada (2D o 3D) enfocada a tu
área de ingeniería.
2. Envía tanto el LiveScript como el PDF, incluye imágenes e
información relacionada.
3. Experimenta con más funciones de LiveScript, menciona
que utilizaste y que no se haya visto en clase, coloca la
justificación dentro del mismo LS.

Ejercicios
MATLAB
Capacitación Para Principiantes:
Sesión 16

GUIDE
GUIDE:

Es un entorno de programación visual disponible


en MATLAB para realizar y ejecutar programas
que necesiten ingreso continuo de datos.

Interfaz Gráfica:

Una interfaz gráfica es el vínculo entre el usuario y


un programa computacional, constituida
generalmente por un conjunto de comandos o
menús, instrumentos y métodos por medio de los
cuales el usuario se comunica con el programa
durante las operaciones que se desean realizar,
facilitando la entrada y salida de datos e
información.
Interfaz de GUIDE Matlab

INTERFAZ GRÁFICA GUIDE MATLAB


Componentes:

Son los elementos que utilizaremos para la


generación de programas en GUIDE.

Contiene:

❏ Push Button
❏ Slider
❏ Radio Button
❏ Check Box
❏ Edit Text
❏ Static Text
❏ Pop Up Menu Área de Diseño
❏ List Box
❏ Toeggle Button
❏ Table
❏ Axes ❏ Align Objects ❏ Editor
Componentes ❏ Panel ❏ Menu Editor ❏ Property Inspector
❏ Button Group ❏ Tab Order Editor ❏ Object Browser
❏ ActiveX Control ❏ Toolbar Editor ❏ Run Figure

Componentes de GUIDE
Nota: al generar una interfaz, el programa generará 2 archivos:
❖ .fig: donde podrás interactuar con el programa
❖ .m: el código del programa

handles.object: Cada objeto está asociado a un identificador único desde el momento de su


creación. A través de este identificador podremos modificar las características (llamadas
propiedades del objeto) de un objeto gráfico distinto del objeto donde estamos programando

set: establece un nuevo valor para la propiedad del objeto con identificador.

get: obtiene el valor de la propiedad especificada de un objeto, la podremos guardar dentro de una
variable.

hObject: Utilizado cuando queremos obtener una propiedad del mismo objeto donde estamos
programando

guidata: función de MATLAB almacena los datos especificados en los datos de la aplicación de
objeto si es una figura, o la figura principal de obj si es otro componente.

Para más información de propiedades, da clic en;


https://www.mathworks.com/help/matlab/ref/matlab.ui.control.uicontrol-properties.html

IDENTIFICADOR DE OBJETOS, FUNCIÓN


GUIDATA & SENTENCIAS
GUIDE

variable a variable a variable a


FUNCIONES /
OBJETOS variable b variable b variable b
DENTRO DE variable c variable c variable c
GUIDE

variable a
VARIABLES
variable b
DENTRO DE
variable c CADA FUNCIÓN

FUNCIONES / OBJETOS
Ejemplo1.m Ejemplo2.m

Push Button
MATLAB
Capacitación Para Principiantes:
Sesión 17

GUIDE
grafico.m imagen.m

Push Button: Axes


Colores.m

Operaciones.m

Lista.m

Pop-up Menu & List Box


MATLAB
Capacitación Para Principiantes:
Sesión 18

GUIDE
Delta Learning

RadioBtn.m

Funciones.m

Button Group, Radio Button,


Toeggle Button & Check Box
Slider1.m

ejemplo_slider.m

ejemplo_slider2.m

SLIDER
MATLAB
Capacitación Para Principiantes:
Sesión 20 [FINAL]

GUIDE
Ejemplo_Tabla.m

TABLA
¡Gracias por ser
parte de Delta
Learning!
Espera más cursos pronto, los ejercicios resueltos los puedes enviar a:

leon.hosnaya@gmail.com

También podría gustarte