Clase 2: Operaciones con matrices en Matlab



Documentos relacionados
Herramientas computacionales para la matemática MATLAB: Otros tipos de datos

Centro de Capacitación en Informática

Tema 3: Vectores y matrices. Conceptos básicos

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACÁN INTEGRANTES

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

Informática I (Grado en Matemáticas) Práctica 1 de Excel

Modulo 1 El lenguaje Java

Comenzando con MATLAB

EDWIN KÄMMERER ORCASITA INGENIERO ELECTRÓNICO

Matrices Invertibles y Elementos de Álgebra Matricial

Una breve introducción a Excel c

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso v1.0 (05.03.

MATLAB en 30 minutos

Una desigualdad se obtiene al escribir dos expresiones numéricas o algebraicas relacionadas con alguno de los símbolos

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

Hoja1!C4. Hoja1!$C$4. Fila

Arrays y Cadenas en C

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

EJERCICIOS DE PROGRAMACIÓN RELACIÓN VII (EJERCICIOS DE REPASO)

ARREGLOS DEFINICION GENERAL DE ARREGLO

La ventana de Microsoft Excel

Uso de funciones en Excel

TEMA 5: HOJAS DE CÁLCULO. Edición de hojas de cálculo con OpenOffice Calc

Herramientas computacionales para la matemática MATLAB: Arreglos

Matrices. Definiciones básicas de matrices. José de Jesús Angel Angel.

LABORATORIO Nº 3 PRÁCTICA DE FUNCIONES EN MICROSOFT EXCEL

Operación de Microsoft Word

EDITOR DE ECUACIONES en Open Office.org Writer INTRODUCCIÓN

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

MATLAB: Introducción al procesamiento de imágenes

6. VECTORES Y COORDENADAS

Claves para las fórmulas: Incrementos Decrementos Porcentajes Múltiplos - Partes - Diferencia

Qué son los monomios?

Uso del programa CALC

Módulo 9 Sistema matemático y operaciones binarias

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

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

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

Llamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 =

Fórmulas y funciones

ARITMÉTICA EN PUNTO FLOTANTE

Instructivo de Microsoft Excel 2003

Capítulo. Cálculos con matrices

Matrices equivalentes. El método de Gauss

LECCIÓN 4ª Operaciones Numéricas

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases.

Funciones en Excel (II)

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas

Ejercicio Nº 3: Realizar aumentos en una Tabla de Sueldos

AUTOR CARLOS EDUARDO BUENO VERGARA JORGE ARMANDO BUENO VERGARA USO DE LOS OBJETOS DEL PROGRAMA. Dfd INFORMÁTICA II PROFESOR. JOSÉ FRANCISCO AMADOR

Semana Empecemos! Qué sabes de...? El reto es... Vamos al grano. Excel. Parte II

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

PRÁCTICAS DE GESTIÓN GANADERA:

Índice Introducción Números Polinomios Funciones y su Representación. Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones

Programación: QBASIC

Definición Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.

11. Algunas clases estándar de Java (II)

Para aquellos que tengan conocimientos de Access es lo más parecido a una consulta de referencias cruzadas, pero con más interactividad.

= C18+C19+C20+C21+C22 = SUMA(C18:C22) Con este sencillo ejemplo hemos querido demostrar que las funciones nos permiten simplificar los cálculos.

6ª Práctica. Matlab página 1

Planilla de cálculo. Módulo II - OpenOffice.org Calc

Base de datos en Access

PRACTICA 6. VECTORES Y MATRICES.

NÚMEROS NATURALES Y NÚMEROS ENTEROS

UNIDAD I NÚMEROS REALES

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

LAS BARRAS. La barra de acceso rápido

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Práctica 1ª: Introducción a Matlab. 1er curso de Ingeniería Industrial: Ingeniería de Control

Tema 1: Fundamentos de lógica, teoría de conjuntos y estructuras algebraicas: Apéndice

ÁLGEBRA DE MATRICES. Al consejero A no le gusta ninguno de sus colegas como presidente.

Ejercicio 1 (2 puntos. Tiempo: 25 minutos)

Organización del Computador. Prof. Angela Di Serio

Roberto Quejido Cañamero

CAPÍTULO 4. FÓRMULAS Y FUNCIONES

Tema 4: Empezando a trabajar con ficheros.m

4º ESO 1. ECUAC. 2º GRADO Y UNA INCÓGNITA

Introducción a la Informática Aplicada a la Filología TABLAS


Introducción a la Programación en MATLAB

Matrices y sus operaciones

ESPOCH ESCUELA DE MEDICINA HERNANDEZ MAYRA FORMULAS Y DUNCIONES BASICAS ESPOCH

Características de funciones que son inversas de otras

Matrices: Conceptos y Operaciones Básicas

Herramientas computacionales para la matemática MATLAB: Funciones definidas por el usuario (parte II)

MATERIAL 2 EXCEL 2007

Construcción de Escenarios

Figura 1.1. Figura 1.2

Prácticas de Análisis Matricial con MATLAB

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario

GUIÓN EXCEL Objetivo Manejo del entorno para el desarrollo de pequeñas aplicaciones.

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.

Instalación del programa PSPP y obtención de una distribución de frecuencias.

Capítulo 4 Procesos con estructuras de repetición

Cálculo Simbólico también es posible con GeoGebra

Introducción a la Programación 11 O. Humberto Cervantes Maceda

Taller de Informática I Dpto. Computación F.C.E. y N. - UBA 2010

CAPITULO II SISTEMAS DE NUMERACIÓN Y CÓDIGOS

Transcripción:

Clase 2: Operaciones con matrices en Matlab Hamilton Galindo UP Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 1 / 37

Outline 1 Definición de matrices desde teclado 2 Operaciones con matrices 3 Tipos de datos Datos numéricos Datos lógicos Caracteres y cadena de caracteres Estructuras Vectores o matrices de celdas 4 Variables y expresiones matriciales 5 Otras formas de definir matrices 6 Operadores relacionales 7 Operadores lógicos 8 Ejercicios Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 2 / 37

Definición de matrices desde teclado I Las matrices y vectores son variables que tienen nombres. Sugerencia: utilizar letras mayúsculas para matrices y letras minúsculas para vectores y escalares. 1 Las matrices se definen por filas y se usan conchetes [...] para definirlas. 2 vector fila: cuando los números están separados por espacios en blanco o comas. Vector fila Fila = [1 2 3] 3 vector columna: cuando los números están separados por enters o punto y coma. Vector columna Columna = [1; 2; 3] Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 3 / 37

Definición de matrices desde teclado II 4 Los elementos de una misma fila están separados por espacios en blanco o comas, mientras que las filas están separadas por una pulsación enter o por punto y coma. Matriz A = [Fila1 ; Fila2] A = [1 2 3; 4 5 6] Se obtiene: A = [ 1 2 ] 3 4 5 6 5 Cuando el resultado de una operación no ha sido asignado a una variable, MATLAB utiliza un nombre de variable por defecto (ans, de answer), que contiene el resultado de la última operación. 6 Para acceder a los elementos de un vector se coloca el nombre del vector seguido de la ubicación entre parentesis: v(3); muestra el tercer elemento del vector v. Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 4 / 37

Definición de matrices desde teclado III 7 Para una matriz: A(i,j) muestra el elemento que se encuentra en la i-ésima fila y en la j-ésima columna de la matriz A. 8 Importante: las matrices se almacenan por columnas (aunque se introduzcan por filas), entonces se puede acceder a cualquier elemento de una matriz con un sólo subíndice 1 2 3 A = 4 5 6 7 8 9 A(3, 2) = A(6) = 8 Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 5 / 37

Operaciones con matrices En Matlab existe tres principales operaciones con matrices: operadores aritméticos operadores para la solución de sistema de ecuaciones lineales operadores elemento a elemento Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 6 / 37

Operadores aritméticos I Operaciones con matrices + suma - resta * multiplicación transpuesta ˆ potenciación / división derecha 1 Matriz y escalar: los operadores anteriores se pueden aplicar entre un escalar y una matriz; en este caso, la operación con el escalar se aplica a cada uno de los elementos de la matriz. 2 División derecha: se usa para dividir por un escalar todos los elementos de una matriz o vector. Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 7 / 37

Operadores para la solución de sistema de ecuaciones lineales I Operaciones con matrices 1 División izquierda (\): este operador se usa para la solución de sistema de ecuaciones lineales como el siguiente: Ax = b Donde, x y b son vectores columna y A es una matriz invertible. 2 La solución de este sistema se puede escribir en dos formas: x = inv(a) b x = A\b 3 Este operador equivale a pre-multiplicar por la inversa de la matriz. 4 Este operador es aplicable aunque la matriz no tenga inversa e incluso no sea cuadrada, en cuyo caso la solución se obtiene por medio del método de mínimos cuadrados. Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 8 / 37

Operadores para la solución de sistema de ecuaciones lineales II Operaciones con matrices 5 Costo del operador: Matlab debe de emplear cierto tiempo en determinar las características de la matriz (triangular, simétrica, etc.). 6 También se puede usar el operador división derecha es el siguiente caso: xa = b x = b inv(a) x = A/b 7 En este caso el operador división derecha equivale a post-multiplicar por la inversa de la matriz. Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 9 / 37

Operadores elemento a elemento Operaciones con matrices.* producto elemento a elemento./ y.\ división derecha-izquierda elemento a elemento.ˆ potenciación elemento a elemento Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 10 / 37

Tipos de datos 15 TIPOS DE DATO Lógico (logical) Texto (char) Numérico (numeric) Referencia de función (function handle) Contenedor heterogéneo Enteros Con signo Sin signo (int8) <=8 bit=> (uint8) (int16) <=16 bit=> (uint16) (int32) <=32 bit=> (uint32) (int64) <=64 bit=> (uint64) Sola precisión (single) Punto flotante Estructura (struct) Doble precisión (double) Vector de celdas (cell) Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 11 / 37

Datos numéricos I Por default Matlab almacena los valores numéricos como punto flotante de doble precisión. [1] Enteros: Matlab dispone de 8 tipos de datos para números enteros: 4 con signo y 4 sin signo. Con signo: permite trabajar con números negativos y positivos, pero el rango de números (positivos) que considera es limitado en comparación con los enteros sin signo. Esto se debe a que el entero con signo utiliza un bite para el signo. Sin signo: utilizan un mayor rango de números que los enteros con signo, pero esta limitado a valores positivos y al cero. [2] Punto flotante: Es una forma de representar los números con decimales (no enteros) Bajo esta forma un número se representa mediante un exponente y una mantisa Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 12 / 37

Datos numéricos II x = 23456.789 En Matlab: x = 2.3457e+004 Donde: 2.3457 es la mantisa y e es la base (igual a 10). Precisión simple (single): el formato para los números de precisión simple es de 32 bits: Signo Exp. con signo Mantisa 1 bit 8 bits 23 bits Precisión doble (double): el formato para los números de precisión doble es de 64 bits: Signo Exp. con signo Mantisa 1 bit 11 bits 52 bits Infinito: Matlab utiliza inf y -inf para representar el infinito positivo y negativo. NaN: con esta expresión Matlab representa valores que no son números reales ni complejos. NaN significa Not a Number (no es una número). Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 13 / 37

Datos lógicos Los datos lógicos son aquellos que resultan de la comparación de dos expresiones númericas o de otro tipo. Su resultado es 1 (verdadero) o 0 (falso). El resultado puede ser un escalar, vector o matriz. Ejemplo [30 40 50 60] > 40 ans= 0 0 1 1 Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 14 / 37

Cadena de caracteres I 1 Características: Los caracteres de una cadena se almacenan en un vector, con un caracter por elemento. Las cadenas de caracteres van entre apóstrofos o comillas simples x = miguel Una matriz de caracteres es una matriz cuyos elementos son caracteres, o una matriz cuyas filas son cadenas de caracteres. z = [ miguel ; javier ; raquel ] z = miguel javier raquel Donde z es una matriz de 3x6 Todas las filas de una matriz de caracteres debe de tener el mismo número de elementos, las filas más cortas se completan con espacios en blanco. z = [ miguel ; juan ; raquel ] Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 15 / 37

Cadena de caracteres II donde se ha dejado 2 espacios en blanco en juan 2 Funciones para operar con cadenas de caracteres: char(v) convierte un vector de números v en una cadena de caracteres char(c1,c2) crea una matriz de caracteres, completando con blancos las cadenas más cortas deblank(c) elimina los blancos al final de una cadena de caracteres disp(c) imprime el texto contenido en la variable c strcmp(c1,c2) comparación de cadenas. Si las cadenas son iguales devuelve un uno, y si nolo son, devuelve un cero s=[s, y más ] concatena cadenas, añadiendo la segunda a continuación de la primera Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 16 / 37

Estructuras I 1 Definición: Es una agrupación de diferentes tipos de datos bajo un mismo nombre. Estos datos se llaman campos (miembros). Una estructura es un nuevo tipo de dato, del que luego se pueden crear muchas variables (objetos). 2 Creación: Se desea crear una estructura alumno con dos campos: nombre y edad Directa: alumno.nombre = Miguel alumno.edad = 24 Se accede a los campos de una estructura por medio del operador punto (.), que une el nombre de la estructura y el nombre del campo (por ejemplo: alumno.nombre). Al escribir alumno en el command windows se obtiene: Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 17 / 37

Estructuras II Usando una función: >> alumno nombre: Miguel edad: 24 alumno = struct( nombre, Miguel, edad,24) 3 Vectores y matrices de estructuras: Para crear un vector de estructuras se hace lo siguiente: alumno(10) = struct( Nombre,, Edad, ) Esto crea un vector de 10 estructuras tipo alumno. Para acceder a la estructura cinco se escribe alumno(5). Para llenar el campo nombre de la estructura cinco: alumno(5).nombre = Miguel Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 18 / 37

Estructuras III 4 Funciones para operar con estructuras: fieldnames() devuelve un vector de celdas con cadenas de caracteres que recogen los nombres de los campos de una estructura isfield(st,s) permite saber si la cadena s es un campo de una estructura ST isstruct(st) permite saber si ST es o no una estructura rmfield(st,s) elimina el campo s de la estructura ST getfield(st,s) devuelve el valor del campo especificado. Si la estructura es un array hay que pasarle los índices como cell array (entre llaves {}) como segundo argumento setfield(st,s,v) da el valor v al campo s de la estructura ST. Si la estructura es un array, hay que pasarle los índices como cell array (entre llaves {}) como segundo argumento 5 Estructuras anidadas: Una estructura anidada es una estructura con campos que son otras estructuras. clase=struct( curso, primero, grupo, A, alumno, struct( nombre, Juan, edad, 19)) Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 19 / 37

Estructuras IV Para acceder a los campos de la estructura más interna se utiliza dos veces el operador punto (.), como puede verse en el ejemplo, en el que la estructura clase contiene un campo que es una estructura alumno. Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 20 / 37

Vectores o matrices de celdas I Cell Arrays 1 Definición: Es un vector (matriz) cuyos elementos son cada uno de ellos una variable de cualquier tipo. En un vector de celdas, el primer elemento puede ser un número, el segundo una matriz, el tercero una estructura, etc. 2 Creación: Un vector de celdas se crea usando llaves {}. Es importante que el nombre del vector de celda no haya sido utilizado anteriormente por otra variable, sino Matlab arroja un error. Ejemplo: a continuación se crea el vector de celda vc. Primer elemento: un vector vc(1) = {[1 2 3]} o vc{1} = [1 2 3] Segundo elemento: un cadena de caracteres vc(2) = { mi nombre } o vc{2} = mi nombre Tercer elemento: una matriz Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 21 / 37

Vectores o matrices de celdas II Cell Arrays vc(3) = {eye(3)} o vc{3} = eye(3) Tambien se puede crear vc de forma directa: vc = { [1 2 3] mi nombre eye(3)} 3 Funciones para operar con vectores (matrices) de celdas: MATLAB dispone de las siguientes funciones para trabajar con cell arrays (ca): cell(m,n) crea un cell array vacío de m filas y n columnas celldisp(ca) muestra el contenido de todas las celdas de ca cellplot(ca) muestra una representación gráfica de las distintas celdas iscell(ca) indica si ca es un vector de celdas num2cell() convierte un array numérico en un cell array cell2struct() convierte un cell array en una estructura struct2cell() convierte una estructura en un cell array 4 Conversión entre estructuras y vectores de celdas: Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 22 / 37

Vectores o matrices de celdas III Cell Arrays De vector de celdas a estructura: Sea el vector de celda vc : vc = {[1 2 3], Juan, eye(3)} El cual retorna un vector vc de 1x3 La función de conversión: st = cell2struct(vc,{ vector, nombre, matriz },2) Donde: el número 2 indica que es la segunda dimensión del cell array la que va a dar origen a los campos de la estructura. De estructura a vector de celdas: Se usa la siguiente función de conversión vvc = struct2cell(st) Se transpone para obtener una fila Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 23 / 37

Variables y expresiones matriciales I Variable Una variable es un nombre que se da a una entidad numérica (matriz, vector o escalar). 1 La forma normal de cambiar el valor de una variable es colocandola a la izquierda del operador de asignación (=) 2 Si una expresión termina en punto y coma su resultado se calcula, pero no se escribe en pantalla. Esto es importante por: Evita la escritura de resultados intermedios Evita la impresión en pantalla de grandes cantidades de números cuando se trabaja con matrices de gran tamaño. 3 Si se desea que una expresión continue despues de colocar enter, se debe de colocar tres puntos... antes de pulsar enter. 4 Matlab distingue entre mayúsculas y minúsculas en los nombres de las variables. Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 24 / 37

Variables y expresiones matriciales II 5 Los nombres de las variables siempre debe de empezar con una letra y pueden constar de hasta 63 letras y números. 6 El caracter guión bajo ( ) se considera como una letra. 7 Comando Who y Whos Ambos permiten obtener la relación de variables que se está utilizando. Whos proporciona mayor información (tamaño, cantidad de memoria ocupada y el carácter real o complejo de cada variable). 8 Comando Clear clear clear global clear A,b clear functions clear all elimina todas las variables creadas previamente (excepto las variables globales). borra las variables globales. borra las variables indicadas. borra las funciones. borra todas las variables, incluyendo las globales y las funciones. Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 25 / 37

Otras formas de definir matrices I 1 Matrices predefinidas eye(n): matriz identidad de tamaño n zeros(n,m): matriz de ceros de tamaño nxm zeros(n): matriz cuadrada (nxn) de ceros ones(n): matriz cuadrada (nxn) cuyos elementos son 1 ones(n,m): matriz nxm cuyos elementos son 1 rand(n): matriz cuadrada (nxn) de números aleatorios entre 0 y 1, con distribución uniforme rand(n,m): matriz nxm de números aleatorios entre 0 y 1, con distribución uniforme randn(n): matriz cuadrada (nxn) de números aleatorios, con distribución normal de valor medio 0 y varianza 1 magic(n): matriz cuadrada (nxn) cuyos elementos son 1,2,3...nxn; con la propiedad de que todas las filas y columnas suman lo mismo kron(n,m): produce una matriz que se obtiene del producto Kronecker de n y m Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 26 / 37

Otras formas de definir matrices II 2 Formación de matrices a partir de otras Sea la matriz A de orden nxm y el vector kx1, en base a ella en Matlab se pueden contruir otras matrices: [n, m] = size(a); devuelve el número de filas y columnas de la matriz A size(a,1): indica el número de filas de la matriz A size(a,2): indica el número de columnas de la matriz A n = lenght(x); devuelve el número de elementos de una vector x B = diag(x); forma una matriz diagonal B con los elementos del vector x y = diag(a); forma un vector y con los elementos de la diagonal de la matriz A Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 27 / 37

Otras formas de definir matrices III Concatenación de matrices: concatenar matrices es el proceso de unir una o más matrices para crear una nueva. Concatenación horizontal Sea A una matriz 2x2 y B 2x5, entonces: C = [A B] C será una matriz de 2x7 (notar que A y B tienen el mismo número de filas) Concatenación vertical Sea A una matriz 2x5 y B 4x5, entonces: C = [A; B] C será una matriz de 6x5 (notar que A y B tienen el mismo número de columnas) Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 28 / 37

Otras formas de definir matrices IV Ejemplo: A = rand(3) B = diag(diag(a)) C = [A, eye(3); B, zeros(3)] Esta matriz C 6x6 se forma por composición de 4 matrices de 3x3. Donde las filas se han separado por ; y los elementos de cada fila por, 3 Extraer elementos de una matriz y vector a partir de vectores Vectores para filas y columnas vector para filas: a = [1 3 5], fila 1,3 y 5 vector para columnas: b = [1 2], columna 1 y 2 Sea la matriz: A = magic(6) 35 1 6 26 19 24 3 32 7 21 23 25 31 9 2 22 27 20 8 28 33 17 10 15 30 5 34 12 14 16 4 36 29 13 18 11 Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 29 / 37

Otras formas de definir matrices V A(a,b) nos dará: 35 1 31 9 30 5 Un solo vector Dado que los elementos de una matriz estan numerados de arriba hacia abajo Se puede obtener elementos particulares de la matriz por medio de un vector que indique la posición de dichos elementos A = magic(6), por tanto a tiene 36 elementos Sea c = [1 3 14] A(c), nos dará en un vector el elemento A(1), A(3) y A(14) Utilizando corchetes [] directamente A([1 2 4],[2 3]) 32 7 28 33 5 34 4 Operador dos puntos (:) Produce vector fila o columna Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 30 / 37

Otras formas de definir matrices VI Sea x=a:n:b, este comando produce un vector fila iniciando en a y terminando en b. El parámetro n indica el incremento (positivo o negativo) Ejemplo: x=1:2:10 Crea el vector: x = 1 3 5 7 9 Extrae elementos de una matriz Sea la matriz A = magic(6) Extraer los 4 primeros elementos de la 5ta fila: x = A(1:4,5) Extraer todos los elementos (:) de la 3era fila: x = A(3,:) Extraer la última fila (end) de matriz A: x = A(end,:) 5 Matriz vacia (borrado de filas o columnas) Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 31 / 37

Utilidad: A = magic(3) Otras formas de definir matrices VII Para Matlab una matriz definida sin ningún elemento entre los corchetes es una matriz que existe pero que está vacía; es decir, tiene dimensión cero. 8 1 6 3 5 7 4 9 2 Sea: A(:,3) = [] Esto eliminará la tercera columna de A: 8 1 3 5 4 9 Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 32 / 37

Operadores relacionales I Operadores relacionales Matlab dispone de los siguientes operadores relacionales: < menor que > mayor que <= menor o igual que >= mayor o igual que == igual que = distinto que 1 En Matlab los operadores relacionales se pueden aplicar a vectores y matrices. 2 Si una comparación se cumple el resultado es 1 (true), mientras que si no se cumple es 0 (false). Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 33 / 37

Operadores relacionales II 3 Cuando estos operadores se aplican a vectores y matrices del mismo tamaño, la comparación se realiza elemento a elemento, y el resultado es otra matriz de unos y ceros del mismo tamaño. Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 34 / 37

Operadores lógicos Operadores lógicos Los operadores lógicos de Matlab son los siguientes: & and (función equivalente: and(a,b)). Se evalúan siempre && and breve: si el primer operando es false ya no se evalúa el segundo, pues el resultado final ya no puede ser más que false. or (función equivalente: or(a,b)). Se evalúan siempre ambos operandos, y el resultado es false sólo si ambos son false. or breve: si el primer operando es true ya no se evalúa el segundo, pues el resultado final no puede ser más que true. negación lógica (función equivalente: not(a)) Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 35 / 37

Ejercicios I 1 Crear las siguientes matrices: A = matriz identidad 5x5 B = matriz 5x4 cuyos elementos son unos C = matriz 4x5 de números aleatorios entre 0 y 1 con distribución uniforme D = matriz 4x4 de números aleatorios con distribución normal (media 0 y varianza 4) E = matriz que contiene a B y D F = matriz inversa de D 2 Crear el vector de celda con nombre encabezado y que contenga: nombre1, nombre2,...,nombre4 3 Convierta la matriz F en una matriz de celda y llamela G 4 Concatenar G y nombre en una sola matriz llamada Datos 5 Concatenar C y D en una matriz llamada M Extraer las filas 1,3 y 4 de M Extraer las columnas 2,5 y 7 de M Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 36 / 37

Ejercicios II Construya una nueva matriz cuyos elementos esten determinados por las filas 1,2,3 y por las columnas 3,7,8,9 de M Construya una matriz que contenga las 3 primeras filas y 5 primeras columnas de M 6 Construya un vector fila ( x ) cuyos elementos sean números consecutivos del 1 al 100 7 Construya un vector columna ( y ) cuyos elementos sean números que descienden de 2 en 2 desde el 200 hasta el 10 8 Eliminar desde la columna 12 a la última del vector x 9 Crear una estructura (Alumno) con tres campos (nombre,edad,nota) Hamilton Galindo (UP) Clase 2: Operaciones con matrices en Matlab Marzo 2014 37 / 37