Herramientas básicas I

Documentos relacionados
Introducción al MATLAB

Introducción a las Técnicas de Programación con MatLab

GNU OCTAVE. Principales características

Herramientas computacionales para la matemática MATLAB: Arreglos

Inducción a MATLAB. Álgebra Lineal. Escuela de Matemáticas. Facultad de Ciencias Universidad Nacional de Colombia Sede Medellín

UNIVERSIDAD TECNOLÓGICA DE PEREIRA Programa de tecnología Eléctrica. Introducción a Matlab Taller 1

Practica 2. Estructuras de Datos en MATLAB

Rancagua, Agosto 2009

facilidades para cálculo matemático y Dispone de toolboxes especializados: Control Systems, Neural Netword, Optimization, etc.

Introducción a Matlab. Ing. Laura López López

CALCULO GRADO EN INGEN. INFORM. DEL SOFTWARE PRACTICA 1. INTRODUCCIÓN A MATLAB

Álgebra Lineal Tutorial básico de MATLAB

Introducción a Matlab y Simulink

Departamento de Matemática Aplicada CÁLCULO COMPUTACIONAL. Licenciatura en Química (Curso ) Matrices Práctica 1

PRÁCTICA 1: Introducción a Matlab

Elementos de Cálculo Numérico

UNIVERSIDAD AUTÓNOMA DE NUEVO LEÓN FACULTAD DE INGENIERÍA MECÁNICA Y ELÉCTRICA DEPARTAMENTO DE CONTROL

>> % suma de dos números reales, el resultado se asigna a ans

SOFTWARE DE LIBRE DISTRIBUCIÓN DE UTILIDAD EN MATEMÁTICAS SCILAB. MASCOTA (frailecillo) LOGO

Práctica 0: Introducción a Matlab. Matlab es un acrónimo: MATrix LABoratory

Cursada Primer Semestre 2015 Guía de Trabajos Prácticos Nro. 2

Algunos comandos para tener en cuenta en las operaciones son: who enumera todas las variables usadas hasta el momento.

Laboratorio 1: Introducción a MatLab

Auxiliar 15. Laboratorio de Matlab COMPUTACIÓN I - CC

INFORMÁTICA MATLAB GUÍA 3 Operaciones con Matrices

Introducción al Cálculo Simbólico a través de Maple

Cursada Segundo Cuatrimestre 2017 Guía de Trabajos Prácticos Nro. 2

Computación Matrices dispersas

Métodos Numéricos. Métodos Numéricos Cap 1: Introducción a Métodos Numéricos, Matlab 1/10. Métodos Numéricos

MATEMÁTICA D INTRODUCCIÓN A SCILAB. Por: Dr. Javier Francesconi

Programación MATLAB: Programas y Funciones.

UNIVERSIDAD AUTÓNOMA DE NUEVO LEÓN

Prácticas de Análisis Matricial con MATLAB

Práctica 3: Matrices y vectores

Arreglos numéricos. Programación Clase 23

Tutorial de MATLAB para MA45C: Ecología Microbiana

Número, algoritmo y errores

Operaciones con matrices

Guía de uso de MATLAB

CURSO DE SCILAB INTRODUCCIÓN

Principios de Computadoras II

Departamento de Matemática Aplicada FUNDAMENTOS DE MATEMATICAS. Ingeniería Química (Curso ) Álgebra Lineal Práctica 3

Introducción al Uso de MATLAB. Dr. Ramón Zúñiga Posgrado en Ciencias de la Tierra, UNAM

CÁTEDRA DE MÉTODOS NUMÉRICOS

Introducción a MATLAB y LabVIEW

4. Operadores Operador asignación

Métodos Numéricos utilizando Scilab

ESTADISTICA MANEJO BÁSICO DE MATLAB/Octave. OBJETIVOS: Manejo básico del entorno de trabajo de MATLAB/Octave. 2 >> 2*sin(2*pi)^2

1. INTRODUCCIÓN A MATLAB 7.0

Curso de Octave. Pablo Barrera González Grupo de Usuarios de Linux. Universidad Carlos III de Madrid

Herramientas básicas II

Operaciones matemáticas con arreglos

GUÍA DE TRABAJO N 1 C# Ing. Néstor Raúl Suarez Perpiñan Página 1 de 13

Clase 7 Herramientas de Álgebra Lineal

Expresiones y sentencias

Métodos directos para resolver sistemas de ecuaciones lineales

Tareas de matrices especiales

Breve introducción al OCTAVE

Tema 2. Tipos predefinidos

Al considerar varios polígonos regulares inscritos resulta: perímetro del cuadrado < π. perímetro del 96 gono < π

Matrices: repaso. Denotaremos con M m n el conjunto de matrices de tamaño m n, o sea, de m filas y n columnas. Una matriz A M m n es de la forma A =

Expresiones y sentencias

GUÍA BÁSICA DE SCHEME v.4

PRÁCTICA No. 6 SOLUCIÓN DE SISTEMAS DE ECUACIONES

Práctica 1 - Representación de la información

GUIA BÁSICA DEL PROCEDIMIENTO MATRIX END MATRIX

Práctica 2: Matrices. Sistemas de ecuaciones lineales.

Fundamentos de Informática Parte II Análisis y Visualización de Datos mediante Matlab

Introducción a MATLAB

Trabajando en la ventana de comandos en el programa gretl.

MATRICES BINARIAS MATRIZ INVERSA

Programación MATLAB: Ecuaciones, polinomios, regresión e interpolación.

Tipos de datos y Operadores Básicos

Francisco Cabo García Bonifacio Llamazares Rodríguez

Clase 2: Operaciones con matrices en Matlab

Enteros: números pertenecientes a un subconjunto finito de los números enteros. Lógicos: los dos valores lógicos, VERDADERO (true) o FALSO (false).

Forma canónica de Jordan.

Matrices triangulares y descomposición LU

Fundamentos de Informática E.U.P. Universidad de Sevilla

APÉNDICE A. Algebra matricial

CREACIÓN DE MATRICES DESDE LA APLICACIÓN PRINCIPAL

Práctica 0: Introducción a Matlab. Series Temporales. Diplomatura en Estadística. 2009/2010

Comenzando con MATLAB

Lista de problemas: ciclos y funciones en el lenguaje MATLAB

Proyecto de Innovación Docente: Guía multimedia para la elaboración de un modelo econométrico.

Lección 5. Punto flotante

Herramientas computacionales para la matemática MATLAB:Introducción

Señales y Sistemas (66.74) Práctica 0 : Introducción a MATLAB/OCTAVE

Tema 3: Vectores y matrices. Conceptos básicos

Contenido. Introducción a los Computadores Conceptos básicos. Sistema de numeración CNM-130

Datos y tipos de datos

Circuitos electrónicos digitales. Unidades Aritméticas Lógicas. Departamento de Tecnología Electrónica Universidad de Sevilla

Introducción a MATLAB

Cálculo Simbólico. (MathCad) Ricardo Villafaña Figueroa

Comprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso.

INGENIERÍA INDUSTRIAL TEORÍA DE CIRCUITOS Y SISTEMAS PRÁCTICA 1 SISTEMAS: INTRODUCCIÓN A MATLAB

Matlab. Informática aplicada al medio ambiente curso 2010/2011

Aritmética de Enteros y

U D I - S o f t w a r e E s p e c i a l i z a d o I I

TUTORIAL BASICO DE MATLAB

Transcripción:

Curso: Modelización y simulación matemática de sistemas Metodología para su implementación computacional Herramientas básicas I Alejandro D. Otero (aotero@fi.uba.ar) Facultades de Ciencias Exactas y Naturales e Ingeniería, UBA CONICET Escuela Complutense Latinoamericana A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 1 / 20

Matlab Por qué? Software de cálculo numérico ejecución interactiva: consola de comandos ejecución de programas: funciones scripts Librería de funciones matemáticas Herramientas de Álgebra lineal... de Cálculo... Interpolación... Optimización... Toolboxes de expansión Lenguaje de programación interpretado: Matlab Octave http://en.wikibooks.org/wiki/matlab_programming/differences_between_octave_ and_matlab http://wiki.octave.org/faq#how_is_octave_different_from_matlab.3f SciLab Interfaces a otras librerías (por ej. solvers de sistemas de ecuaciones de alta performance) Por qué? Una plataforma común sobre la cual desarrollar el curso A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 2 / 20

Matlab Entorno gráfico de desarrollo A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 3 / 20

Matlab Entorno gráfico de desarrollo Consola de comandos Ventana de variables en memoría (Workspace) Navegador de directorios Historial de comandos Editor Ventana de figuras Ayuda A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 4 / 20

Operaciones básicas por línea de comandos: >> 2 + 2 4 >> 1/(1-2*2) -0.3333 >> ans -0.3333 No es necesaria una definición del tipo de datos previa a la asignación: Matlab asume que es el tipo de variable más general posible un arreglo de números complejos >> b = sin(a) b = 0.8660 >> c = b^2 + cos(a)^2 >> a = 2/3*pi a = 2.0944 c = 1.0000 qué pasa si cada sentencia se finaliza con un punto y coma (;) probar format long, short, shorte, rat, hex A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 5 / 20

Aritmética finita y errores numéricos Representación en aritmética de punto flotante de doble precisión s : bit de signo e = [ e 1 e 2 e 3... e 11 ]: exponente 11 dígitos binarios. 1 e 2046 con 0 y 2047 como valores especiales f = [ f 1 f 2 f 3... f 52 ]: mantisa 52 dígitos binarios. f < 2 52 Los números representables tienen la forma: Consecuencias ( 1) s 2 (e 1023) (1 + f) Vacíos entre números representables. Distancia entre números? eps Números reales no representables errores Algunos desastres causados por errores numéricos: http://ta.twi.tudelft.nl/users/vuik/wi211/disasters.html A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 6 / 20

Aritmética finita y errores numéricos Ejemplo 1 >> (.1 +.1 +.1) - 0.3 >> (.1 +.1 +.1) == 0.3 >> eps(.1) Ejemplo 2 >> a = 2^100 >> c = 2^47 >> b = a + c >> format long, a, b >> a == b >> eps(a) Dónde prestar atención? Comparación de números en punto flotante (cuidado con el ==) Las operaciones ya no son asociativas Resta de números muy parecidos Condiciones de corte e índice de control en ciclos Orden de las operaciones: >> format long e >> eps/2 + 1 - eps/2 >> eps/2 - eps/2 + 1 En Matlab! A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 7 / 20

Tipos de datos Punto flotante, simple y doble precisión. Enteros Números complejos Arreglos multidimensionales Cadenas de texto: string Estructuras y cells: arreglos de arreglos A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 8 / 20

Definición y asignación de variables No es necesaria una definición previa a la asignación Todas las variables se interpretan como arreglos (matrices y/o vectores) de complejos Los elementos de una fila se separan por espacio o coma (,) Los elementos de una columna se separan por punto y coma (;) Arreglos de arreglos >> b = [1 2 3 4 5] >> d = [[1;4;7],[2;5;8],[3;6;9]] >> c = [1;2;3] >> d = [1 2 3;4 5 6;7 8 9] >> e = [c d] A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 9 / 20

Definición y asignación de variables No es necesaria una definición previa a la asignación Todas las variables se interpretan como arreglos (matrices y/o vectores) de complejos Los elementos de una fila se separan por espacio o coma (,) Los elementos de una columna se separan por punto y coma (;) Arreglos de arreglos >> b = [1 2 3 4 5] b = 1 2 3 4 5 >> d = [[1;4;7],[2;5;8],[3;6;9]] >> c = [1;2;3] >> e = [c d] >> d = [1 2 3;4 5 6;7 8 9] A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 9 / 20

Definición y asignación de variables No es necesaria una definición previa a la asignación Todas las variables se interpretan como arreglos (matrices y/o vectores) de complejos Los elementos de una fila se separan por espacio o coma (,) Los elementos de una columna se separan por punto y coma (;) Arreglos de arreglos >> b = [1 2 3 4 5] b = 1 2 3 4 5 >> d = [[1;4;7],[2;5;8],[3;6;9]] >> c = [1;2;3] c = 1 2 3 >> e = [c d] >> d = [1 2 3;4 5 6;7 8 9] A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 9 / 20

Definición y asignación de variables No es necesaria una definición previa a la asignación Todas las variables se interpretan como arreglos (matrices y/o vectores) de complejos Los elementos de una fila se separan por espacio o coma (,) Los elementos de una columna se separan por punto y coma (;) Arreglos de arreglos >> b = [1 2 3 4 5] b = 1 2 3 4 5 >> d = [[1;4;7],[2;5;8],[3;6;9]] >> c = [1;2;3] c = 1 2 3 >> e = [c d] >> d = [1 2 3;4 5 6;7 8 9] d = 1 2 3 4 5 6 7 8 9 A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 9 / 20

Definición y asignación de variables No es necesaria una definición previa a la asignación Todas las variables se interpretan como arreglos (matrices y/o vectores) de complejos Los elementos de una fila se separan por espacio o coma (,) Los elementos de una columna se separan por punto y coma (;) Arreglos de arreglos >> b = [1 2 3 4 5] b = 1 2 3 4 5 >> c = [1;2;3] c = 1 2 3 >> d = [[1;4;7],[2;5;8],[3;6;9]] d = 1 2 3 4 5 6 7 8 9 >> e = [c d] >> d = [1 2 3;4 5 6;7 8 9] d = 1 2 3 4 5 6 7 8 9 A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 9 / 20

Definición y asignación de variables No es necesaria una definición previa a la asignación Todas las variables se interpretan como arreglos (matrices y/o vectores) de complejos Los elementos de una fila se separan por espacio o coma (,) Los elementos de una columna se separan por punto y coma (;) Arreglos de arreglos >> b = [1 2 3 4 5] b = 1 2 3 4 5 >> c = [1;2;3] c = 1 2 3 >> d = [[1;4;7],[2;5;8],[3;6;9]] d = 1 2 3 4 5 6 7 8 9 >> e = [c d] >> d = [1 2 3;4 5 6;7 8 9] d = 1 2 3 4 5 6 7 8 9 e = 1 1 2 3 2 4 5 6 3 7 8 9 A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 9 / 20

Definición y asignación de variables (2) Indexación >> a = [1 2 3;4 5 6;7 8 9] >> a(2,3) Operador : Definición de una secuencia >> a = 1:5 >> a(4) >> b = 0:0.5:1.5 >> a([1 3],2) >> c = 5:-1:1 >> a(end,end) >> d = 0:0.2:0.7 A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 10 / 20

Definición y asignación de variables (2) Indexación >> a = [1 2 3;4 5 6;7 8 9] >> a(2,3) 6 >> a(4) Operador : Definición de una secuencia >> a = 1:5 >> b = 0:0.5:1.5 >> a([1 3],2) >> c = 5:-1:1 >> a(end,end) >> d = 0:0.2:0.7 A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 10 / 20

Definición y asignación de variables (2) Indexación >> a = [1 2 3;4 5 6;7 8 9] >> a(2,3) 6 >> a(4) 2 >> a([1 3],2) Operador : Definición de una secuencia >> a = 1:5 >> b = 0:0.5:1.5 >> c = 5:-1:1 >> a(end,end) >> d = 0:0.2:0.7 A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 10 / 20

Definición y asignación de variables (2) Indexación >> a = [1 2 3;4 5 6;7 8 9] >> a(2,3) 6 >> a(4) 2 >> a([1 3],2) 2 8 >> a(end,end) Operador : Definición de una secuencia >> a = 1:5 >> b = 0:0.5:1.5 >> c = 5:-1:1 >> d = 0:0.2:0.7 A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 10 / 20

Definición y asignación de variables (2) Indexación >> a = [1 2 3;4 5 6;7 8 9] >> a(2,3) 6 >> a(4) 2 >> a([1 3],2) 2 8 >> a(end,end) Operador : Definición de una secuencia >> a = 1:5 >> b = 0:0.5:1.5 >> c = 5:-1:1 >> d = 0:0.2:0.7 9 A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 10 / 20

Definición y asignación de variables (2) Indexación >> a = [1 2 3;4 5 6;7 8 9] >> a(2,3) 6 >> a(4) 2 >> a([1 3],2) 2 8 >> a(end,end) Operador : Definición de una secuencia >> a = 1:5 a = 1 2 3 4 5 >> b = 0:0.5:1.5 >> c = 5:-1:1 >> d = 0:0.2:0.7 9 A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 10 / 20

Definición y asignación de variables (2) Indexación >> a = [1 2 3;4 5 6;7 8 9] >> a(2,3) 6 >> a(4) 2 >> a([1 3],2) 2 8 >> a(end,end) Operador : Definición de una secuencia >> a = 1:5 a = 1 2 3 4 5 >> b = 0:0.5:1.5 b = 0 0.5000 1.0000 1.5000 >> c = 5:-1:1 >> d = 0:0.2:0.7 9 A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 10 / 20

Definición y asignación de variables (2) Indexación >> a = [1 2 3;4 5 6;7 8 9] >> a(2,3) 6 >> a(4) 2 >> a([1 3],2) 2 8 >> a(end,end) Operador : Definición de una secuencia >> a = 1:5 a = 1 2 3 4 5 >> b = 0:0.5:1.5 b = 0 0.5000 1.0000 1.5000 >> c = 5:-1:1 c = 5 4 3 2 1 >> d = 0:0.2:0.7 9 A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 10 / 20

Definición y asignación de variables (2) Indexación >> a = [1 2 3;4 5 6;7 8 9] >> a(2,3) 6 >> a(4) 2 >> a([1 3],2) 2 8 >> a(end,end) Operador : Definición de una secuencia >> a = 1:5 a = 1 2 3 4 5 >> b = 0:0.5:1.5 b = 0 0.5000 1.0000 1.5000 >> c = 5:-1:1 c = 5 4 3 2 1 >> d = 0:0.2:0.7 9 d = 0 0.2000 0.4000 0.6000 A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 10 / 20

Definición y asignación de variables (3) Operador : Indexación de elementos en las matrices >> a = [1 2 3;4 5 6;7 8 9] >> a(:,1) >> a(1:2,2:3) >> a(2,:) >> a(:) >> a(2,1:2:3) >> a(2,2:3) A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 11 / 20

Definición y asignación de variables (3) Operador : Indexación de elementos en las matrices >> a = [1 2 3;4 5 6;7 8 9] >> a(:,1) 1 4 7 >> a(2,:) >> a(1:2,2:3) >> a(:) >> a(2,1:2:3) >> a(2,2:3) A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 11 / 20

Definición y asignación de variables (3) Operador : Indexación de elementos en las matrices >> a = [1 2 3;4 5 6;7 8 9] >> a(:,1) 1 4 7 >> a(2,:) >> a(1:2,2:3) >> a(:) 4 5 6 >> a(2,1:2:3) >> a(2,2:3) A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 11 / 20

Definición y asignación de variables (3) Operador : Indexación de elementos en las matrices >> a = [1 2 3;4 5 6;7 8 9] >> a(:,1) 1 4 7 >> a(2,:) >> a(1:2,2:3) >> a(:) 4 5 6 >> a(2,1:2:3) 4 6 >> a(2,2:3) A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 11 / 20

Definición y asignación de variables (3) Operador : Indexación de elementos en las matrices >> a = [1 2 3;4 5 6;7 8 9] >> a(:,1) 1 4 7 >> a(2,:) >> a(1:2,2:3) >> a(:) 4 5 6 >> a(2,1:2:3) 4 6 >> a(2,2:3) 5 6 A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 11 / 20

Definición y asignación de variables (3) Operador : Indexación de elementos en las matrices >> a = [1 2 3;4 5 6;7 8 9] >> a(:,1) 1 4 7 >> a(2,:) >> a(1:2,2:3) 2 3 5 6 >> a(:) 4 5 6 >> a(2,1:2:3) 4 6 >> a(2,2:3) 5 6 A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 11 / 20

Definición y asignación de variables (3) Operador : Indexación de elementos en las matrices >> a = [1 2 3;4 5 6;7 8 9] >> a(:,1) 1 4 7 >> a(2,:) 4 5 6 >> a(2,1:2:3) 4 6 >> a(2,2:3) 5 6 >> a(1:2,2:3) 2 3 5 6 >> a(:) 1 4 7 2 5 8 3 6 9 A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 11 / 20

Modificación de las dimensiones de las matrices >> a = [1 2 3;4 5 6] >> a >> a(:) >> a([1 2 1 2 2],:) >> reshape(a,3,2) >> fliplr(a), flipud(a) A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 12 / 20

Modificación de las dimensiones de las matrices >> a = [1 2 3;4 5 6] a = >> a(:) 1 2 3 4 5 6 >> a >> a([1 2 1 2 2],:) >> reshape(a,3,2) >> fliplr(a), flipud(a) A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 12 / 20

Modificación de las dimensiones de las matrices >> a = [1 2 3;4 5 6] a = >> a(:) 1 4 2 5 3 6 1 2 3 4 5 6 >> reshape(a,3,2) >> a >> a([1 2 1 2 2],:) >> fliplr(a), flipud(a) A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 12 / 20

Modificación de las dimensiones de las matrices >> a = [1 2 3;4 5 6] a = >> a(:) 1 4 2 5 3 6 1 2 3 4 5 6 >> reshape(a,3,2) >> a >> a([1 2 1 2 2],:) >> fliplr(a), flipud(a) 1 5 4 3 2 6 A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 12 / 20

Modificación de las dimensiones de las matrices >> a = [1 2 3;4 5 6] a = >> a(:) 1 4 2 5 3 6 1 2 3 4 5 6 >> reshape(a,3,2) >> a 1 4 2 5 3 6 >> a([1 2 1 2 2],:) >> fliplr(a), flipud(a) 1 5 4 3 2 6 A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 12 / 20

Modificación de las dimensiones de las matrices >> a = [1 2 3;4 5 6] a = >> a(:) 1 4 2 5 3 6 1 2 3 4 5 6 >> reshape(a,3,2) >> a 1 4 2 5 3 6 >> a([1 2 1 2 2],:) 1 2 3 4 5 6 1 2 3 4 5 6 4 5 6 >> fliplr(a), flipud(a) 1 5 4 3 2 6 A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 12 / 20

Modificación de las dimensiones de las matrices >> a = [1 2 3;4 5 6] a = >> a(:) 1 4 2 5 3 6 1 2 3 4 5 6 >> reshape(a,3,2) 1 5 4 3 2 6 >> a 1 4 2 5 3 6 >> a([1 2 1 2 2],:) 1 2 3 4 5 6 1 2 3 4 5 6 4 5 6 >> fliplr(a), flipud(a) 3 2 1 6 5 4 4 5 6 1 2 3 A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 12 / 20

Arreglos especiales eye: matriz identidad >> I1 = eye(3) >> I2 = eye(3,5) zeros: matriz de ceros >> Ceros = zeros(4) ones: matriz de unos >> Unos = ones(2) rand: matriz de números aleatorios >> A = rand(2) >> V = rand(1,4) diag: diagonal de una matriz y matrices diagonales y banda >> a = [1 2 3;4 5 6;7 8 9] >> diag(a) >> diag(1:5) linspace: vector equiespaciado >> c = linspace(0,1,12) linspace: vector equiespaciado logarítmicamente >> c = logspace(0,1,12) A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 13 / 20

Operadores Operadores aritméticos + Suma - Resta.* Multiplicación./ División a der.\ División a izq.ˆ Potencia * Mult. matrices / Div. der matrices \ Div. izq matrices ˆ Potencia matrices Operadores relacionales < Menor <= Menor o igual > Mayor >= Mayor o igual == Igual ~= Distinto Operadores lógicos & y o no any alguno all todos A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 14 / 20

Funciones Funciones sobre escalares abs cos, cosd sin, sind exp log log10 tan, tand sqrt sign floor round ceil Funciones sobre vectores max: elemento máximo de un vector min: elemento mínimo de un vector sort: ordena un vector en forma ascendente o descendente sum: suma los elementos de un vector prod: producto de los elementos de un vector mean: promedio de los elementos de un vector Tamaño de los arreglos length: tamaño de la mayor dimensión ndims: número de dimensiones numel: número de elementos size: tamaño de cada dimensión A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 15 / 20

Funciones sobre matrices y herramientas de álgebra lineal sum: suma los elementos a lo largo de una de las dimensiones triu: parte triangular superior de una matriz tril: parte triangular inferior de una matriz det: determinante eig: autovalores y autovectores svd: descomposición en valores singulares inv: inversa de una matriz lu: factorización LU chol: factorización de Cholesky qr: factorización QR cond: número de condición en la norma 2 norm: norma 1, norma 2, norma de Frobenius, norma poly: polinomio característico rank: rango Resolución de sistemas de ecuaciones Si A es una matriz inversible y b es un vector columna de dimensión adecuada, entonces: x = A\b = inv(a) * b es la solución de A x = b y x = b/a = b * inv(a) es la solución de x A = b A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 16 / 20

Arreglos multidimensionales Matlab extiende la sintáxis naturalmente a más de 2 dimensiones Las funciones y operaciones elemento a elemento son válidas eye, zeros, ones, rand y otras con n argumentos permiten crear arreglos de n dimensiones donde cada argumento indica el cardinal de la dimensión correspondiente >> I2 = eye(3,5,2,4) En Matlab! El operador (:) funciona análogamente Para concatenar arreglos de dimensiones mayores a 2 se puede usar la función cat que funciona análogamente a la coma (,) y al punto y coma (;) utilizados en 2 dimensiones >> A = cat(3, [1 2 3; 9 8 7; 4 6 5], [0 3 2; 8 8 4; 5 3 5],... [6 4 7; 6 8 5; 5 4 3]) >> A(1,:,:) >> A(:) A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 17 / 20

Arreglos multidimensionales Matlab extiende la sintáxis naturalmente a más de 2 dimensiones Las funciones y operaciones elemento a elemento son válidas eye, zeros, ones, rand y otras con n argumentos permiten crear arreglos de n dimensiones donde cada argumento indica el cardinal de la dimensión correspondiente >> I2 = eye(3,5,2,4) En Matlab! El operador (:) funciona análogamente Para concatenar arreglos de dimensiones mayores a 2 se puede usar la función cat que funciona análogamente a la coma (,) y al punto y coma (;) utilizados en 2 dimensiones >> A = cat(3, [1 2 3; 9 8 7; 4 6 5], [0 3 2; 8 8 4; 5 3 5],... [6 4 7; 6 8 5; 5 4 3]) >> A(1,:,:) ans(:,:,1) = 1 2 3 ans(:,:,2) = 0 3 2 ans(:,:,3) = 6 4 7 >> A(:) A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 17 / 20

Matrices ralas (sparse) Soportadas nativamente en Matlab Conversión de full a sparse >> A = [ 0 0 0 5; 0 2 0 0; 1 3 0 0; 0 0 4 0] >> S = sparse(a) >> B = full(s) >> whos A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 18 / 20

Matrices ralas (sparse) Soportadas nativamente en Matlab Conversión de full a sparse >> A = [ 0 0 0 5; 0 2 0 0; 1 3 0 0; 0 0 4 0] >> S = sparse(a) >> B = full(s) >> whos Definición directa de los elementos S = sparse(i,j,s,m,n) >> S = sparse([3 2 3 4 1],[1 2 2 3 4],[1 2 3 4 5],4,4) A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 18 / 20

Matrices ralas (sparse) Soportadas nativamente en Matlab Conversión de full a sparse >> A = [ 0 0 0 5; 0 2 0 0; 1 3 0 0; 0 0 4 0] >> S = sparse(a) >> B = full(s) >> whos Definición directa de los elementos S = sparse(i,j,s,m,n) >> S = sparse([3 2 3 4 1],[1 2 2 3 4],[1 2 3 4 5],4,4) Definición a partir de las diagonales de la matriz S = spdiags(b,d,m,n) A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 18 / 20

Matrices ralas (sparse) Soportadas nativamente en Matlab Conversión de full a sparse >> A = [ 0 0 0 5; 0 2 0 0; 1 3 0 0; 0 0 4 0] >> S = sparse(a) >> B = full(s) >> whos Definición directa de los elementos S = sparse(i,j,s,m,n) >> S = sparse([3 2 3 4 1],[1 2 2 3 4],[1 2 3 4 5],4,4) Definición a partir de las diagonales de la matriz S = spdiags(b,d,m,n) Alocamiento de espacio para matrices ralas: S = spalloc(m,n,nzmax) A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 18 / 20

Matrices ralas (sparse) Soportadas nativamente en Matlab Conversión de full a sparse >> A = [ 0 0 0 5; 0 2 0 0; 1 3 0 0; 0 0 4 0] >> S = sparse(a) >> B = full(s) >> whos Definición directa de los elementos S = sparse(i,j,s,m,n) >> S = sparse([3 2 3 4 1],[1 2 2 3 4],[1 2 3 4 5],4,4) Definición a partir de las diagonales de la matriz S = spdiags(b,d,m,n) Alocamiento de espacio para matrices ralas: S = spalloc(m,n,nzmax) Propiedades de matrices ralas: nnz, nonzeros, nzmax A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 18 / 20

Matrices ralas (sparse) Soportadas nativamente en Matlab Conversión de full a sparse >> A = [ 0 0 0 5; 0 2 0 0; 1 3 0 0; 0 0 4 0] >> S = sparse(a) >> B = full(s) >> whos Definición directa de los elementos S = sparse(i,j,s,m,n) >> S = sparse([3 2 3 4 1],[1 2 2 3 4],[1 2 3 4 5],4,4) Definición a partir de las diagonales de la matriz S = spdiags(b,d,m,n) Alocamiento de espacio para matrices ralas: S = spalloc(m,n,nzmax) Propiedades de matrices ralas: nnz, nonzeros, nzmax Matrices especiales: speye, sprand, sprandsym A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 18 / 20

Matrices ralas (sparse) Soportadas nativamente en Matlab Conversión de full a sparse >> A = [ 0 0 0 5; 0 2 0 0; 1 3 0 0; 0 0 4 0] >> S = sparse(a) >> B = full(s) >> whos Definición directa de los elementos S = sparse(i,j,s,m,n) >> S = sparse([3 2 3 4 1],[1 2 2 3 4],[1 2 3 4 5],4,4) Definición a partir de las diagonales de la matriz S = spdiags(b,d,m,n) Alocamiento de espacio para matrices ralas: S = spalloc(m,n,nzmax) Propiedades de matrices ralas: nnz, nonzeros, nzmax Matrices especiales: speye, sprand, sprandsym Visualización de matrices ralas: spy(s) S = sprand(100,100,0.1) spy(s) A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 18 / 20

Entrada / Salida save load File > ImportData A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 19 / 20

Preguntas? Dudas? Críticas? Amenazas? A. Otero (UBA CONICET) Modelización y simulación matemática de sistemas Escuela Complutense Latinoamericana 20 / 20