Documentos de Académico
Documentos de Profesional
Documentos de Cultura
March 3, 2023
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Metodologı́a de clase
Al final de la clase habrán 20 minutos para que los estudiantes resuelvan ejercicios
que les permitirán afianzar sus conocimientos.
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 2 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Pruebas
Las pruebas se realizarán en las siguientes fechas. A excepción del examen final que se
presentará en parejas, las pruebas se resuelven de manera individual.
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 3 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Contenido
5 Clase V: Funciones I
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 4 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
¿Qué son?
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 5 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
¿Qué son?
Son la manera mediante la cual programador y máquina se comunican.
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 5 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
¿Qué son?
Son la manera mediante la cual programador y máquina se comunican.
Las máquinas solo entienden el lenguaje binario o de bits (0 y 1). Decimal-Binario
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 5 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
¿Qué son?
Son la manera mediante la cual programador y máquina se comunican.
Las máquinas solo entienden el lenguaje binario o de bits (0 y 1). Decimal-Binario
Se trata de una serie de instrucciones que permiten llevar a cabo una tarea (de manera
sofisticada algoritmos).
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 5 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
¿Qué son?
Son la manera mediante la cual programador y máquina se comunican.
Las máquinas solo entienden el lenguaje binario o de bits (0 y 1). Decimal-Binario
Se trata de una serie de instrucciones que permiten llevar a cabo una tarea (de manera
sofisticada algoritmos).
Piense por ejemplo en enseñarle a sumar a la máquina. Hacerlo la primera vez fue
costoso, hoy ya existen rutinas que lo hacen de manera automática.
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 5 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
¿Qué son?
Son la manera mediante la cual programador y máquina se comunican.
Las máquinas solo entienden el lenguaje binario o de bits (0 y 1). Decimal-Binario
Se trata de una serie de instrucciones que permiten llevar a cabo una tarea (de manera
sofisticada algoritmos).
Piense por ejemplo en enseñarle a sumar a la máquina. Hacerlo la primera vez fue
costoso, hoy ya existen rutinas que lo hacen de manera automática.
¿Cómo se clasifican?
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 5 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
¿Qué son?
Son la manera mediante la cual programador y máquina se comunican.
Las máquinas solo entienden el lenguaje binario o de bits (0 y 1). Decimal-Binario
Se trata de una serie de instrucciones que permiten llevar a cabo una tarea (de manera
sofisticada algoritmos).
Piense por ejemplo en enseñarle a sumar a la máquina. Hacerlo la primera vez fue
costoso, hoy ya existen rutinas que lo hacen de manera automática.
¿Cómo se clasifican?
Existen varias clasificaciones. Lenguajes interpretados vs. compilados. Estos últimos
son aptos para un solo sistema operativo. En un lenguaje interpretado (como Matlab),
el programa ejecuta el código en tiempo real, sin ensamblarlo (traducir a lenguaje de
máquina).
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 5 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
¿Qué son?
Son la manera mediante la cual programador y máquina se comunican.
Las máquinas solo entienden el lenguaje binario o de bits (0 y 1). Decimal-Binario
Se trata de una serie de instrucciones que permiten llevar a cabo una tarea (de manera
sofisticada algoritmos).
Piense por ejemplo en enseñarle a sumar a la máquina. Hacerlo la primera vez fue
costoso, hoy ya existen rutinas que lo hacen de manera automática.
¿Cómo se clasifican?
Existen varias clasificaciones. Lenguajes interpretados vs. compilados. Estos últimos
son aptos para un solo sistema operativo. En un lenguaje interpretado (como Matlab),
el programa ejecuta el código en tiempo real, sin ensamblarlo (traducir a lenguaje de
máquina).
Lenguajes de alto vs de bajo nivel. Los programas que usamos los no programadores
son lenguajes de alto nivel que ya incorporan rutinas.
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 5 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
¿Qué son?
Son la manera mediante la cual programador y máquina se comunican.
Las máquinas solo entienden el lenguaje binario o de bits (0 y 1). Decimal-Binario
Se trata de una serie de instrucciones que permiten llevar a cabo una tarea (de manera
sofisticada algoritmos).
Piense por ejemplo en enseñarle a sumar a la máquina. Hacerlo la primera vez fue
costoso, hoy ya existen rutinas que lo hacen de manera automática.
¿Cómo se clasifican?
Existen varias clasificaciones. Lenguajes interpretados vs. compilados. Estos últimos
son aptos para un solo sistema operativo. En un lenguaje interpretado (como Matlab),
el programa ejecuta el código en tiempo real, sin ensamblarlo (traducir a lenguaje de
máquina).
Lenguajes de alto vs de bajo nivel. Los programas que usamos los no programadores
son lenguajes de alto nivel que ya incorporan rutinas.
¿Para qué sirven?
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 5 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
¿Qué son?
Son la manera mediante la cual programador y máquina se comunican.
Las máquinas solo entienden el lenguaje binario o de bits (0 y 1). Decimal-Binario
Se trata de una serie de instrucciones que permiten llevar a cabo una tarea (de manera
sofisticada algoritmos).
Piense por ejemplo en enseñarle a sumar a la máquina. Hacerlo la primera vez fue
costoso, hoy ya existen rutinas que lo hacen de manera automática.
¿Cómo se clasifican?
Existen varias clasificaciones. Lenguajes interpretados vs. compilados. Estos últimos
son aptos para un solo sistema operativo. En un lenguaje interpretado (como Matlab),
el programa ejecuta el código en tiempo real, sin ensamblarlo (traducir a lenguaje de
máquina).
Lenguajes de alto vs de bajo nivel. Los programas que usamos los no programadores
son lenguajes de alto nivel que ya incorporan rutinas.
¿Para qué sirven?
Automatizan procedimientos que pueden ser tediosos o imposibles llevarlos a cabo
manualmente.
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 5 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
¿Qué son?
Son la manera mediante la cual programador y máquina se comunican.
Las máquinas solo entienden el lenguaje binario o de bits (0 y 1). Decimal-Binario
Se trata de una serie de instrucciones que permiten llevar a cabo una tarea (de manera
sofisticada algoritmos).
Piense por ejemplo en enseñarle a sumar a la máquina. Hacerlo la primera vez fue
costoso, hoy ya existen rutinas que lo hacen de manera automática.
¿Cómo se clasifican?
Existen varias clasificaciones. Lenguajes interpretados vs. compilados. Estos últimos
son aptos para un solo sistema operativo. En un lenguaje interpretado (como Matlab),
el programa ejecuta el código en tiempo real, sin ensamblarlo (traducir a lenguaje de
máquina).
Lenguajes de alto vs de bajo nivel. Los programas que usamos los no programadores
son lenguajes de alto nivel que ya incorporan rutinas.
¿Para qué sirven?
Automatizan procedimientos que pueden ser tediosos o imposibles llevarlos a cabo
manualmente.
En la actualidad todas las áreas del conocimiento hacen uso de programas informáticos.
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 5 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Los entornos de desarrollo integrado (IDE por sus siglas en inglés) son muy
populares en la actualidad.
Los IDE ofrecen una serie de herramientas en el mismo lugar. Por ejemplo, un editor
de código fuente, funciones de autocompletado, gestión de conexiones a bases de
datos, entre otros.
Matlab ofrece un IDE en el cual trabajaremos.
Si están familiarizados con R, notarán que los usuarios trabajan con R Studio para
facilitar su trabajo.
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 6 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Identación o tabulación
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 7 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Debugging
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 8 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Matlab
Matrix Laboratory.
Es un lenguaje de programación desarrollado por MathWorks.
FORTRAN wrapping.
Año de lanzamiento: 1984 (casi 4 décadas).
En 2020, MATLAB tiene alrededor de 4 millones de usuarios en el mundo.
Instalaciones de software en más de 100.000 empresas, gobiernos y sitios
universitarios.
Sistema operativo, Microsoft Windows, Mac OS, Linux.
Los procedimientos de Matlab se complementan con Toolboxes.
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 9 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Ventajas y desventajas
Ventajas Desventajas
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 10 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Consola
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 11 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 12 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Valores numéricos
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 13 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Valores numéricos
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 13 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Valores numéricos
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 13 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Valores numéricos
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 13 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Valores numéricos
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 13 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Valores numéricos
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 13 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Valores numéricos
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 13 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Valores numéricos
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 13 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Valores numéricos
escalar = 5
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 14 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Valores numéricos
escalar = 5
vector fila = 1 2 3
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 14 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Valores numéricos
escalar = 5
vector fila = 1 2 3
vector fila = 1 , 2 , 3
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 14 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Valores numéricos
escalar = 5
vector fila = 1 2 3
vector fila = 1 , 2 , 3
" #
1
vector columna = 2
3
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 14 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Valores numéricos
escalar = 5
vector fila = 1 2 3
vector fila = 1 , 2 , 3
" #
1
vector columna = 2
3
"
1 2 3
#
matriz = 4 5 6
7 8 9
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 14 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
» var1 = true
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 15 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
» var1 = true
var1 = 1
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 15 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
» var1 = true
var1 = 1
» var2 = false
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 15 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
» var1 = true
var1 = 1
» var2 = false
var2 = 0
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 15 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
» var1 = true
var1 = 1
» var2 = false
var2 = 0
» var3 = var1 + 1
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 15 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
» var1 = true
var1 = 1
» var2 = false
var2 = 0
» var3 = var1 + 1
var3 = 2
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 15 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
» var2 = false
var2 = 0
» var3 = var1 + 1
var3 = 2
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 15 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
» var2 = false
var2 = 0
» var3 = var1 + 1
var3 = 2
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 15 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
» var3 = var1 + 1
var3 = 2
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 15 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
» var3 = var1 + 1
var3 = 2
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 15 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Strings y Characters
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 16 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Strings y Characters
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 16 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Strings y Characters
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 16 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Strings y Characters
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 16 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Strings y Characters
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 16 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Strings y Characters
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 16 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Strings y Characters
Se crean con comillas dobles (”). Se crean con comillas simples (’).
Entienden el texto como un solo
elemento. Se usan para nombrar
archivos o etiquetas.
Es posible convertir vectores
numéricos a texto string(A).
Ejemplo:
» str = ”Matlab”
size: 1×1
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 16 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Strings y Characters
Se crean con comillas dobles (”). Se crean con comillas simples (’).
Entienden el texto como un solo Entienden cada caracter del texto
elemento. Se usan para nombrar como un elemento. Ası́ es más fácil
archivos o etiquetas. acceder a un caracter especı́fico.
Es posible convertir vectores
numéricos a texto string(A).
Ejemplo:
» str = ”Matlab”
size: 1×1
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 16 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Strings y Characters
Se crean con comillas dobles (”). Se crean con comillas simples (’).
Entienden el texto como un solo Entienden cada caracter del texto
elemento. Se usan para nombrar como un elemento. Ası́ es más fácil
archivos o etiquetas. acceder a un caracter especı́fico.
Es posible convertir vectores Es posible convertir vectores
numéricos a texto string(A). numéricos a texto char(A)
Ejemplo:
» str = ”Matlab”
size: 1×1
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 16 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Strings y Characters
Se crean con comillas dobles (”). Se crean con comillas simples (’).
Entienden el texto como un solo Entienden cada caracter del texto
elemento. Se usan para nombrar como un elemento. Ası́ es más fácil
archivos o etiquetas. acceder a un caracter especı́fico.
Es posible convertir vectores Es posible convertir vectores
numéricos a texto string(A). numéricos a texto char(A)
Ejemplo: Ejemplo:
» str = ”Matlab”
size: 1×1
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 16 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Strings y Characters
Se crean con comillas dobles (”). Se crean con comillas simples (’).
Entienden el texto como un solo Entienden cada caracter del texto
elemento. Se usan para nombrar como un elemento. Ası́ es más fácil
archivos o etiquetas. acceder a un caracter especı́fico.
Es posible convertir vectores Es posible convertir vectores
numéricos a texto string(A). numéricos a texto char(A)
Ejemplo: Ejemplo:
» str = ”Matlab” » char = ’Matlab’
size: 1×1
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 16 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Strings y Characters
Se crean con comillas dobles (”). Se crean con comillas simples (’).
Entienden el texto como un solo Entienden cada caracter del texto
elemento. Se usan para nombrar como un elemento. Ası́ es más fácil
archivos o etiquetas. acceder a un caracter especı́fico.
Es posible convertir vectores Es posible convertir vectores
numéricos a texto string(A). numéricos a texto char(A)
Ejemplo: Ejemplo:
» str = ”Matlab” » char = ’Matlab’
size: 1×1 size: 1×6
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 16 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Arreglos
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 17 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Arreglos
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 17 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Arreglos
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 17 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Arreglos
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 17 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Estructuras
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 18 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Estructuras
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 18 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Estructuras
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 18 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Estructuras
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 18 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 19 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 19 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Tablas
Son arreglos de información que permiten realizar operaciones sobre sus columnas y
filas.
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 20 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Tablas
Son arreglos de información que permiten realizar operaciones sobre sus columnas y
filas.
Es el entorno más adecuado para el análisis de datos.
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 20 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Contenido
5 Clase V: Funciones I
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 21 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Escalares y Vectores
ans
El nombre debe empezar con una letra del alfabeto. Con un máximo de ,63 caracteres
de extensión
MATLAB es sensible en el uso de mayúsculas y minı́sculas.
Potencias, después las multiplicaciones y divisiones y, finalmente, las sumas y restas.
Operaciones de igual prioridad se evalúan de izquierda a derecha.
A partir de vectores es posible construir matrices.
Matrices
zeros (nxm), ones (nxm), eye (n), magic (n), rand(nxm).
A partir de matrices es posible extraer vectores y escalares.
Arreglos
Permiten construir ’matrices’ con números, cadena de caracteres, matrices, etc.
A diferencia de las matrices se abren y cierran con { }.
Valores lógicos
Son elementos que solo toman dos valores: 0 y 1.
Son útiles para realizar pruebas lógicas entre los datos.
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 22 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Formatos
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 23 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Taller
1 Cree una variable en el que guarde su edad en años. Usando dicha variable, cree una
nueva variable que guarde su edad en meses. Posteriormente cree una variable que
guarde su edad en dı́as (recuerde los años bisiestos).
2 Cree una variable que guarde una cantidad en libras. Haciendo uso de esa variable,
cree una nueva variable que guarde dicho peso en kilogramos. Recuerde que 1
kilogramo equivale a 2.2 libras.
3 Cree un vector columna con las primeras 6 potencias de 2 (inicie desde 0). Cree
ahora una variable lógica que evalúe si cada potencia es mayor que el promedio de
las primeras 6 potencias.
4 Cree una matriz (M) 10x 4 que de la siguiente manera:
a. La primera columna debe tener los 10 primeros números pares.
b. La segunda columna debe tener los 10 primeros números impares.
c. La tercera columna debe tener los 10 primeros números primos.
d. La cuarta columna debe tener los números que incrementen de tres en tres empezando
por 8.
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 24 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Taller
5 Dada la matriz (M) del punto anterior. Obtenga el vector de la segunda fila que
tenga columnas en posiciones pares. Obtenga una submatriz compuesta por las
columnas 2 y 3 de M y sus últimas 5 filas.
6 Cree una tabla con los datos personales (nombre, apellidos, código, programa)
imaginarios de 5 compañeros de clase. Las filas deben representar a las personas y
las columnas sus caracterı́sticas.
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 25 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Contenido
5 Clase V: Funciones I
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 26 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Matrices y escalares
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 27 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Operaciones básicas
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 28 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Operadores punto
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 29 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Otras operaciones
Matrices
length, size
numel
sort, ’descend’
det , tranpose
trace, rank
tril, triu
inv, diag
transpose
flipud, fliplr
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 30 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
(b−a)2
rand [0,1] → µ = b+a
2
, σ2 = 12
rand [0,n]: rand ∗ n
rand [a,b]: rand ∗ (b − a) + a
randn [0,1]
randn [µ , σ 2 ]: randn ∗ σ+ µ
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 31 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Taller
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 32 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Taller
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 33 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Taller
c. La tercera columna debe tener cuatro números aleatorios con una distribución
uniforme en el intervalo [−4, 4].
d. La cuarta columna debe tener cuatro números aleatorios con una distribución normal
estándar.
5 Cree una expresión que le permita obtener la posición diagonal más alta (en
términos del n?mero de fila y de columna) de una matriz. Tenga en cuenta que
dicha expresión también puede aplicarse a matrices no necesariamente cuadradas.
Debe ser lo suficientemente general para poder hacerlo con una matriz de cualquier
tamaño. (pista: utilice la función min).
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 34 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Contenido
5 Clase V: Funciones I
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 35 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Proposiciones
Sı́mbolo Significado
A. Proposiciones simples
< Menor a
> Mayor a
<= Menor o igual
>= Mayor o igual
== Igual
∼= Diferente
B. Proposiciones compuestas
|| O
&& Y
∼ Not
xor O excluyente (xor (A, B))
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 36 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Taller
1 Cree un ciclo que muestre los números impares desde el 1 hasta el 22.
2 Cree un ciclo que muestre cada elemento de un vector que contiene los nombres de
sus 3 series favoritas.
3 Cree un ciclo que imprima los números de un vector y pare cuando llegue a su
mediana.
4 Cree un ciclo que evalúe todos los números del 1 a 20 e imprima solo los números
que son pares.
5 Cree un ciclo que evalúe cada posición de una matriz mágica de orden 7 y devuelva
una matriz de orden 7 con unos (1) en las posiciones en las cuales el número es
superior 25. De la matriz resultante, cuente el total de unos que existen.
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 37 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Contenido
5 Clase V: Funciones I
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 38 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Funciones
1 Existen dos tipos de ficheros .m, los ficheros de comando (scripts) y las funciones.
2 El nombre del fichero *.m que guarda una función debe coincidir con el nombre de la
función.
3 Para leer variables desde teclado y escribir mensajes en la pantalla:
disp(’Mensaje’)
n = input(’Mensaje’; ’s’)
4 Carácteres utilizados para controlar la salida.
n salto de lı́nea
t tabulador
5 Formatos
%d → enteros
%f → float (número real)
%c → un solo carácter
%s → strings
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 39 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Ejemplo:
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 40 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Ejercicios de clase
Input: radio.
Output: área de un cı́rculo.
2 Calcular la inversa de la traspuesta de una matriz (inversa).
Input: matriz.
Output: inversa de la traspuesta de una matriz.
3 Calcule la función de producción Cobb-Douglas (cobb douglas).
Función de producción: Q = AK α L1−α .
Input: A, K, L, alpha.
Output: Producción.
4 Calcular la traspuesta de una matriz (array traspuesta).
Input: matriz.
Output: un arreglo con la palabra “Traspuesta” en la posición (1,1) y la traspuesta de
la matriz en la posición (1,2).
5 Calcular la media y la desviación estándar de un vector (med sum).
Input: vector.
Output: Tanto la media como la desviación estándar.
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 41 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Ejercicios de clase
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 42 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Contenido
5 Clase V: Funciones I
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 43 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Taller
1 Cree una función que reciba una matriz, y devuelva la suma de los elementos pares
(pares).
2 Escriba una función, que se llame suma impar, que para un argumento n > 0 calcule
la suma de todos los números impares desde 1 hasta n. Por ejemplo, para n = 11 se
debe tener como resultado: 1 + 3 + 5 + 7 + 9 + 11 = 36.
3 Escriba una función, que se llame prod impar, que para un argumento n > 0 calcule
el producto de todos los números impares desde 1 hasta n (o hasta n − 1 si n es par).
4 Cree una función column2 que tenga de input una matriz y de output la segunda
columna de ésta.
5 Cree una función que tenga como input un número. A partir de este número cree
una matriz con valores aleatorios con distribución normal estándar de tamaño N
(aproximación del input) y que tenga de output la media de TODOS los números de
la matriz.
6 Escriba una función (prime factors)
Input: número natural de más de un dı́gito.
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 44 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Taller
Output: vector que contenga la descomposición de factores primos. Por ejemplo los
factores primos de 54 son [2, 3, 3, 3].
7 En este ejercicio debe crear una función en orden para facilitar el cálculo de
estadı́sticas descriptivas para un profesor quien cada semestre tiene que organizar a
sus estudiantes de acuerdo a las notas de las evaluaciones. El input es una matriz
(cada fila representa un estudiante y cada columna una tarea). El output debe ser:
a. Una matriz donde cada fila represente un estudiante y:
la primera columna tenga el promedio (suponga que todas las tareas tienen la importancia).
la segunda columna tenga la nota más alta.
la tercera columna tenga la posición de la nota más alta.
b. Otra matriz donde cada fila represente las tareas (en el mismo orden que están en las
columnas de la matriz original) y:
la primera columna calcule el promedio de cada tarea a través de todos los estudiantes.
la segunda columna calcula la mediana de cada tarea a través de todos los estudiantes.
la tercera columna calcula desviación estándar de cada tarea a través de todos los estudiantes.
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 45 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Contenido
5 Clase V: Funciones I
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 46 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Funciones recursivas
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 47 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Ejercicios de clase
Recursividad
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 48 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Ejercicios de clase
Recursividad
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 49 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Ejercicios de clase
Recursividad
Ejercicio 5: Cree la función rec comb. Esta función debe devolver el número de
veces que es posible elegir m objetos en n grupos, usando la siguiente propiedad de
Pascal:
m m−1 m−1
= +
n n n−1
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 50 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Ejercicios de clase
Recursividad
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 51 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Taller
Recursividad
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 52 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Taller
Recursividad
7 dividir rec que divida un número en 2 hasta que el número obtenido sea menor que
dos.
Input: un número.
Output: el número de veces que el dicho número puede ser dividido en 2.
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 53 / 54
Clase I: Principios de programación Clase II: Tipos de datos Clase III: Operaciones básicas con matrices Clase IV: Condicionales y ciclos Clase V: Funciones
Sabiendo que...
2n ... 25 24 23 22 21 20
∞ ... 32 16 8 4 2 1
Suponga que neceistamos transformar el número 22 en lenaguaje máquina. ¿A qué serı́a
igual? Se busca el número más grande de la tabla que sea inferior al número que se desea
transformar y allı́ pondremos un 1. Luego, con la diferencia se repite el procedimiento
hasta que no existan unidades por ubicar.
32 16 8 4 2 1
0 1 0 1 1 0
¿Y los sı́mbolos y las letras? Se usa la tabla ASCII (American Standard Code for Informa-
tion Interchange) y se transforma el código correspondinete a binario. Atrás
Fayber Acosta Pardo (Universidad de los Andes) Taller de Programación en MATLAB March 3, 2023 54 / 54