Professional Documents
Culture Documents
II
Juan Castillo
Contenido
• Programación por “guion” VS Programación “tradicional”
• ¿ Por que Matlab? ¿Qué hay de Python?
• Introducción a Matlab
• Manipulación de matrices
• Comandos útiles en Matlab
• Sintaxis de Matlab
• Ciclos for y while
• Condicionales: if, ifelse
• Operaciones lógicas
Programación: guion vs tradicional
Ventana de Herramientas
contextuales
Ventana
Ventana de Editor “espacio de
ubicación trabajo”
actual
Ventana del
Historial
Ventana de
comandos
Redondea hacia
ceil(x) ceil(11/5)
infinito
Redondea hacia
floor(x) floor(-9/4)
menos infinito
Retorna el residuo
rem(x) rem(13/5)
de una división
1 si x>0, -1 si x<0, 0
sign(x) sign(5)
si x=0
Comandos útiles
Comando Resultado
clear Borra las variables de la memoria
El array es una estructura fundamental que Matlab Creación de un vector con datos igualmente
utiliza para almacenar y manipular datos. Estos arrays espaciados
o vectores, son listas de números dispuestos en filas
y/o columnas. VectorFila=[ m:q:n]
Los array solo pueden contener un tipo de variable, no Donde m es el valor inicial, q es el incremento y n es
pueden tenerse arrays que contengan variables el valor final. Si q>0, entonces n>m, de lo contrario si
numéricas y caracteres. q<0 entonces n<m
También puedes construir una matriz usando size(A) Devuelve un vector fila [m,n] donde m y n
vectores, siempre y cuando las dimensiones sean son el tamaño de la matriz A
coherentes.
EJEMPLO: Interactuar con Matlab (I/O)
>> A=[1:2:11; 0:5:25;
linspace(10,60,6); Comando Resultado
67 2 43 68 4 13]
input(‘Texto Muestra un mensaje de texto en la
• A( : , n ) se refiere a todos los elementos de descriptivo’) ventana de comando para solicitar
la columna n de la matriz A información por el teclado, por defecto se
• A( n, : ) se refiere a todos los elementos de espera un número
la fila n de la matriz A input(‘Texto’, ‘s’) Se espera información de tipo carácter
• A( :, m:n) se refiere a los elementos entre
las columnas m y n disp(‘Texto’) Muestra texto en la ventana de
• A( m:n, : ) se refiere a los elementos entre comandos
las filas m y n disp(variable) Muestra el valor de la variable en la
• A(m:n, p:q) se refiere a los elementos entre ventana de comandos
la fila m y n y las columnas p y q
Determinantes, división por izquierda y
derecha
Matlab, puede calcular el determinante de O como:
matrices cuadradas con la función det() :
4 2 6
EJEMPLO: 𝑥 𝑦 𝑧 −2 8 10 = [8 4 0]
>> A=[6,5; 3, 9];
>> det(A) 6 2 3
Matlab es capaz de realizar divisiones de arrays: Que pueden ser vistos como ecuaciones matriciales de
la forma:
por la izquierda y por la derecha.
Estas operaciones son particularmente útiles 𝐴𝑋 = 𝐵
cuando se desea resolver sistemas de
ecuaciones.
𝑋 𝑇 𝐴𝑇 = 𝐵𝑇
Por ejemplo un sistema de ecuaciones lineales de tres
Con:
incógnitas: 𝑥
4𝑥 − 2𝑦 + 6𝑧 = 8 𝑋= 𝑦 𝑋𝑇 = 𝑥 𝑦 𝑧
2𝑥 + 8𝑦 + 2𝑧 = 4 𝑧
4 −2 6 4 2 6
6𝑥 + 10𝑦 + 3𝑧 = 0
𝐴= 2 8 2 𝐴𝑇 = −2 8 10
Puede ser escrito de forma matricial como: 6 2 3
6 10 3
4 −2 6 𝑥 8 8
2 8 2 𝑦 = 4 𝐵= 4 𝐵𝑇 = [8 4 0]
6 10 3 𝑧 0 0
División Izquierda, derecha
Por lo tanto podemos resolver las ecuaciones si
hacemos:
𝐴−1 𝐴𝑋 = 𝐴−1 𝐵 𝑋 𝑇 𝐴𝑇 𝐴𝑇 −1
= 𝐵𝑇 𝐴𝑇 −1
𝑋 = 𝐴\𝐵 𝑋 𝑇 = 𝐵𝑇 /𝐴𝑇
Ejemplo:
>> plot(x, y)
>> hold on
>> plot(x, y1, ’r’)
Ejemplo:
>> subplot(2,2,1);
>> plot(x, y)
>> subplot(2,2,3)
>> plot(x, y1, ’r’)
Comandos útiles en el graficado de datos
Comando Descripción
4𝑟 2 𝜃 2 cos(2𝜃) 𝑐 2 − 𝑟 2 𝑠𝑒𝑛 𝜃 2
+ 𝑟 2 𝜃𝑠𝑒𝑛 2𝜃 2
𝑥= −𝑟𝜃 2 𝑐𝑜𝑠 𝜃 − 3
4 𝑐 2 − 𝑟 2 𝑠𝑒𝑛 𝜃 2 2
Sentencias condicionales
Diagrama de …
flujo … programa Matlab
…
if expresión_condicional
Sentencia Cierto … Grupo de
if … instrucciones
… MATLB
Falso Instrucciones
end
…
…
end …
Problema: Encontrar el valor de x para el cual f(x) = 0. Los primero que podríamos pensar es graficar tales curvas
x = cos(x)
Posibilidad 1 Posibilidad 2