informe matlab

44
UNIVERSIDAD CENTROCCIDENTAL “LISANDRO ALVARADO” DECANATO DE AGRONOMÍA PROGRAMA INGENIERÍA AGROINDUSTRIAL MATLAB

Upload: junioradarfio

Post on 12-Jun-2015

3.763 views

Category:

Education


12 download

DESCRIPTION

QUE ES EL MATLAB

TRANSCRIPT

Page 1: Informe matlab

UNIVERSIDAD CENTROCCIDENTAL

“LISANDRO ALVARADO”

DECANATO DE AGRONOMÍA

PROGRAMA INGENIERÍA AGROINDUSTRIAL

MATLAB

Integrantes:

Adarfio Junior 17. 728. 453

Legon Jaklin 17. 814. 571

Computación aplicada

Fecha: 29/04/2011

Page 2: Informe matlab

Introducción

El uso de las matemáticas se ha realizado desde el nacimiento de la civilización

como lo podemos apreciar en las ciencias y artes de culturas tan antiguas como la

egipcia, griega, romana, china, maya, etc. Hoy en día también sirven para entender

fenómenos naturales y prevenir sus consecuencias, para resolver complicados

problemas de ingeniería y finanzas, para desarrollar investigación de punta en ciencias,

etc. Estos son sólo algunos ejemplos representativos de las aplicaciones de las

matemáticas.

El uso de ayudas computacionales basadas en PCs es una práctica común en

nuestros días. El más usado en el mundo es MATLAB, el cual consiste en un paquete

que maneja las matemáticas de una manera muy simple, además están habilitados con

utilerías que permiten a los usuarios realizar complicados procedimientos matemáticos

con una gran facilidad. Algunos ejemplos representativos los proporcionan los métodos

de optimización que requieren una gran cantidad de cómputo matemático. Hoy en día

con paquetes como MATLAB se pueden realizar procesos de optimización aún por

programadores inexpertos con tiempos de desarrollo muy cortos. Esto es debido a la

existencia de una gran cantidad de programas agrupados en paquetes especializados

llamados toolboxes desarrollados por renombrados especialistas de todo el mundo y que

simplifican la labor de desarrollo de técnicas de resolución de problemas.

Page 3: Informe matlab

1. ¿Qué es MATLAB?

MATLAB es una de las muchas sofisticadas herramientas de computación

disponibles en el comercio para resolver problemas de matemáticas, tales como Maple,

Mathematica y MathCad. A pesar de lo que afirman sus defensores, ninguna de ellas es

“la mejor”. Todas tienen fortalezas y debilidades. Cada una permitirá efectuar cálculos

matemáticos básicos, pero difieren en el modo como manejan los cálculos simbólicos y

procesos matemáticos más complicados, como la manipulación de matrices. Por

ejemplo, MATLAB es superior en los cálculos que involucran matrices, mientras que

maple lo supera en los cálculos simbólicos. El nombre mismo de MATLAB es una

abreviatura de Matrix Laboratory, laboratorio matricial. En un nivel fundamental, se

puede pensar que estos programas son sofisticadas calculadoras con base en una

computadora. Son capaces de realizar las mismas funciones que una calculadora

científica, y muchas más. Si usted tiene una computadora en su escritorio, descubrirá

que usará MATLAB en lugar de su calculadora incluso para la más simple de sus

aplicaciones matemáticas, por ejemplo para el balance de su chequera. En muchas

clases de ingeniería, la realización de cálculos con un programa de computación

matemático como MATLAB sustituye la programación de computadoras más

tradicional. Esto no significa que el lector no deba aprender un lenguaje de alto nivel

como C++ o FORTRAN, sino que los programas como MATLAB se han convertido en

una herramienta estándar para ingenieros y científicos.

Dado que MATLAB es tan fácil de usar, muchas tareas de programación se

llevan a cabo con él. Sin embargo, MATLAB no siempre es la mejor herramienta para

usar en una tarea de programación. El programa destaca en cálculos numéricos,

especialmente en los relacionados con matrices y gráficas, pero usted no querrá escribir

un programa de procesamiento de palabras en MATLAB. C++ y FORTRAN son

programas de propósito general y serían los programas de elección para aplicaciones

grandes como los sistemas operativos o el software de diseño. (De hecho, MATLAB,

que es un programa grande de aplicación, se escribió originalmente en FORTRAN y

después se rescribió en C, precursor de C++). Por lo general, los programas de alto nivel

no ofrecen acceso fácil a la graficación, que es una aplicación en la que destaca

MATLAB. El área principal de interferencia entre MATLAB y los programas de alto

nivel es el “procesamiento de números”: programas que requieren cálculos repetitivos o

el procesamiento de grandes cantidades de datos. Tanto MATLAB como los programas

de alto nivel son buenos en el procesamiento de números. Por lo general, es más fácil

Page 4: Informe matlab

escribir un programa que “procese números” en MATLAB, pero usualmente se

ejecutará más rápido en C++ o FORTRAN. La única excepción a esta regla son los

cálculos que involucran matrices; puesto que MATLAB es óptimo para matrices, si un

problema se puede formular con una solución matricial, MATLAB lo ejecuta

sustancialmente más rápido que un programa similar en un lenguaje de alto nivel.

MATLAB está disponible en versiones tanto profesional como estudiantil. Es

probable que en el laboratorio de cómputo de su colegio o universidad esté instalada la

versión profesional, pero disfrutará tener la versión estudiantil en casa. MATLAB se

actualiza de manera regular; este texto se basa en MATLAB 7. Si utiliza MATLAB 6

podrá observar algunas diferencias menores entre éste y MATLAB 7. En versiones

anteriores a MATLAB 5.5 existen diferencias sustanciales.

MATLAB es un programa comercial para la realización de cálculos matemáticos

con vectores y matrices. Como caso particular puede también trabajar con números

escalares, tanto reales como complejos. Una de las capacidades más atractivas es la de

realizar una amplia variedad de gráficos en dos y tres dimensiones. Su nombre proviene

de MAtrix LABoratory (Laboratorio de Matrices), dado que el tipo de dato básico que

gestiona es una matriz (arreglo).

MATLAB incorpora un sencillo y eficiente lenguaje de programación que, junto

con sus capacidades gráficas, hacen de él una herramienta muy útil para el desarrollo de

experimentos numéricos. Muchos de estos programas vienen con el sistema, son

funciones "internas" (built-in functions) diseñadas para resolver problemas generales y

otros conforman librerías especializadas (toolboxes) para resolver problemas más

concretos.

Una ventaja de MATLAB es la sencillez de su lenguaje de programación:

muchos programas que resultan difíciles de implementar en lenguajes como C, Fortran,

etc, se implementan con relativa facilidad en MATLAB. Por supuesto, un programa en

C resulta ser generalmente mucho más eficiente que en MATLAB. Una desventaja de

MATLAB es su alto valor comercial: MATLAB es una marca registrada de The

MathWorks, Inc. y por ejemplo el costo de una licencia comercial de MATLAB 7.1

Service Pack 3 (sin ningún toolbox) oscila en torno de los US$2000.

MATLAB es ampliamente conocido y utilizado en universidades e institutos

para el aprendizaje en cursos básicos y avanzados de matemáticas, ciencias y.

especialmente ingeniería. En la industria se utiliza habitualmente en investigación,

desarrollo y diseño de prototipos.

Page 5: Informe matlab

MATLAB es utilizado en computación matemática, modelado y simulación,

análisis y procesamiento de datos, visualización y representación de gráficos, así como

para el desarrollo de algoritmos.

Edición estudiantil de MATLAB

Las ediciones profesional y estudiantil de MATLAB son muy similares. Es

probable que los estudiantes que comienzan no sean capaces de distinguir la diferencia.

Las ediciones estudiantiles están disponibles para los sistemas operativos Microsoft

Windows, Mac OSX y Linux.

¿Cómo se usa MATLAB en la industria?

La habilidad para usar herramientas tales como MATLAB se convirtió

rápidamente en un requisito para muchos puestos de ingeniería. En una reciente

búsqueda de empleo en Monster.com se encontró el siguiente anuncio: … se busca un

ingeniero de sistema de pruebas con experiencia en aviónica… Sus responsabilidades

incluyen modificación de scripts de MATLAB, ejecución de simulaciones en Simulink

y el análisis de los datos del resultado. El candidato debe estar familiarizado con

MATLAB, Simulink y C++…

Este anuncio no es raro. La misma búsqueda arrojó 75 compañías diferentes que

requerían específicamente el manejo de MATLAB para los ingenieros que entraran al

nivel de base. MATLAB es particularmente popular para aplicaciones de ingeniería

eléctrica, aunque se usa muchísimo en todos los campos de la ingeniería y ciencias. Las

secciones que siguen delinean sólo algunas de las muchas aplicaciones actuales que

utilizan MATLAB.

Ingeniería eléctrica

MATLAB se utiliza mucho en ingeniería eléctrica para aplicaciones de

procesamiento de señales. Esto tiene una aplicación potencial en el diseño de robots

autónomos que usen la visión para navegar y en particular en aplicaciones para la

seguridad en automóviles.

Ingeniería biomédica

Por lo general, las imágenes médicas se guardan como archivos dicom (el

estándar Digital Imaging and Communications in Medicine: imágenes digitales y

comunicaciones en medicina). Los archivos dicom utilizan la extensión de

archivo .dcm. La compañía Math Works ofrece una caja de herramientas adicional,

llamada caja de herramientas para imágenes que puede leer esos archivos, lo que hace

que sus datos estén disponibles para procesamiento en MATLAB. La caja de

Page 6: Informe matlab

herramientas para imágenes también incluye un amplio rango de funciones de las que

muchas son especialmente apropiadas para las imágenes médicas. Un conjunto limitado

de datos MRI ya convertidos a un formato compatible con MATLAB se incluye con el

programa MATLAB estándar. Este conjunto de datos le permite probar algunas de las

funciones de generación de imágenes disponibles tanto con la instalación estándar de

MATLAB como con la caja de herramientas para imágenes expandida, si la tiene

instalada en su computadora.

Dinámica de fluidos

Los cálculos que describen velocidades de fluidos (rapideces y direcciones) son

importantes en varios campos. En particular, a los ingenieros aeroespaciales les interesa

el comportamiento de los gases, tanto afuera de una aeronave o vehiculo espacial como

dentro de las cámaras de combustión. Visualizar el comportamiento tridimensional de

los fluidos es difícil, pero MATLAB ofrece cierto número de herramientas que lo hacen

más sencillo.

Resolución de problemas en ingeniería y ciencias

En las disciplinas de ingeniería, ciencias y programación de computadoras, es

importante tener un enfoque consistente para resolver los problemas técnicos. El

enfoque que se plantea a continuación es útil en cursos tan distintos como química,

física, termodinámica y diseño de ingeniería. También se aplica a las ciencias sociales,

como economía y sociología. Otros autores quizá formulen sus esquemas de resolución

de problemas de forma ligeramente diferente, pero todos tienen el mismo formato

básico:

Plantear el problema

En esta etapa con frecuencia es útil hacer un dibujo

Si no tiene una comprensión clara del problema, es improbable que pueda

resolverlo.

Describir los valores de entrada (conocidos) y las salidas (incógnitas) que se

requieren.

Tenga cuidado de incluir las unidades conforme describe los valores de

entrada y salida. El manejo descuidado de las unidades con frecuencia lleva a respuestas

incorrectas.

Identifique las constantes que tal vez requiera en el cálculo, como la

constante de los gases ideales y la aceleración de la gravedad.

Page 7: Informe matlab

Si es apropiado, en un dibujo escriba los valores que haya identificado o

agrúpelos en una tabla.

Desarrollar un algoritmo para resolver el problema. En aplicaciones de cómputo, es

frecuente que esto se logre con una prueba de escritorio. Para ello necesitará.

Identificar cualesquiera ecuaciones que relacionen los valores conocidos con

las incógnitas.

Trabajar con una versión simplificada del problema, a mano o con

calculadora.

Resolver el problema. En este libro, esta etapa involucra la creación de una solución

con MATLAB.

Probar la solución.

¿Sus resultados tienen sentido físico?

¿Coinciden con los cálculos de la muestra?

¿La respuesta es la que se pedía en realidad?

Las gráficas con frecuencia son formas útiles de verificar que los cálculos son

razonables.

Si utiliza en forma consistente un enfoque estructurado de resolución de

problemas, como el que se acaba de describir, descubrirá que los problemas tipo

“narración” son mucho más fáciles de resolver.

2. Funcionalidad de MATLAB

MATLAB es un lenguaje de muy alto nivel diseñado para cómputo técnico.

Integra en un mismo ambiente muy fácil de usar cálculos, visualización y programación.

En este ambiente los problemas y sus soluciones se pueden expresar en notación

matemática fácil de entender. Algunos de los usos más comunes de MATLAB son;

Cálculos matemáticos

Desarrollo de algoritmos

Modelado y simulación

Análisis de datos y

Obtención de gráficas

Desarrollo de interfaces gráficas

Page 8: Informe matlab

MATLAB es el acrónimo de MATrix LABoratory (Laboratorio de matrices) y

originalmente fue desarrollado para realizar operaciones con matrices. El MATLAB

actual es un poderoso sistema de cálculo de operaciones matemáticas y programación

interactivo que integra un sistema de graficación. El lenguaje de programación de

MATLAB es más poderoso que lenguajes tales como FORTRAN, C, Basic,

VisualBasic o Pascal, por mencionar algunos.

Junto a MATLAB se ha desarrollado una colección de herramientas que

programadas en lenguaje de MATLAB pueden realizar un conjunto de actividades en

ciertas áreas de la ingeniería, las ciencias, las finanzas y la economía, por mencionar

algunas.

Algunas de estas herramientas son con enfoque a sistemas de control, procesado

de señales, procesado de imágenes, lógica difusa, redes neuronales, simulación,

optimización, finanzas y economía, entre otras. Estas herramientas se conocen como

toolboxes y constituyen una parte importante de MATLAB que permiten resolver una

clase particular de problemas.

FUNCIONALIDAD DEL SOFTWARE

El usuario puede iniciar MATLAB haciendo doble clic sobre el icono de

MATLAB o invocando la aplicación desde el menú de Inicio de Windows. Al

ejecutarse MATLAB, deberá aparecer una ventana como la que se muestra a

continuación.

Page 9: Informe matlab

Figura 1: La ventana de MATLAB (versión 7)

Partes a destacar del entorno de trabajo de MATLAB:

2.1. Ventana de Comandos o Consola (Command Windows)

Es la ventana principal por medio de la cual el usuario se comunica con

MATLAB. El prompt (>>) indica que MATLAB está listo para recibir comandos, desde

realizar operaciones básicas entre números hasta invocar programas que el propio

usuario realice.

Page 10: Informe matlab

Figura 2: Ventana de Comandos o Consola

2.2 Directorio Actual de Trabajo (Current Directory)

El directorio actual de trabajo es una ruta que MATLAB utiliza como punto de

referencia. Cualquier archivo de MATLAB que el usuario desee ejecutar debe estar

ubicado en el directorio de trabajo. Una manera rápida de ver o cambiar el directorio de

trabajo es por medio del campo mostrado en la figura.

Por defecto, el directorio de trabajo es C:\MATLAB7\work donde el 7 hace

referencia a la versión de MATLAB. En este ejemplo, los archivos del Current

Directory aparecen listados en la figura.

Tres de ellos son archivos de MATLAB (M-files), archivos con extensión .m y

pueden ser invocados desde la línea de comandos.

Page 11: Informe matlab

2.3 La ayuda

La orden helpwin sirve para obtener información sobre un tema concreto. Por

ejemplo,

>> helpwin ans

proporciona información sobre ans. Muy similar a helpwin es la orden doc.

Si no se conoce la orden exacta sobre la que deseamos ampliar la información,

se puede escribir simplemente helpwin para abrir una ventana de ayuda Help en la que

aparecerá, entre otras cosas, una lista de temas, un índice de términos y un buscador de

palabras.

Figura 3: Ventana de ayuda en MATLAB

Page 12: Informe matlab

Cálculos simples en MATLAB

MATLAB puede realizar cálculos simples como si se tratara de una calculadora.

Por ejemplo si deseamos realizar 3 + 7, simplemente escribimos después de EDU>>

esta operación requerida. Esto es

EDU>> 3 + 7

y presionamos la tecla ENTER. (Usaremos negritas para lo que escribimos nosotros y

normal para lo que escribe MATLAB.) MATLAB nos da el resultado como

ans=

10

La indicación para oprimir la tecla ENTER es obvia y no siempre la

escribiremos.

Operaciones básicas y su precedencia

Operación Símbolo Ejemplo Precedencia

Suma + 4 + 2 = 6 3

Resta – 4 – 2 = 2 3

Multiplicación * 4 * 2 = 8 2

División / 4 / 2 = 2 2

Potenciación ^ 4 ^ 2 = 16 1

La precedencia significa el nivel de prioridad que aplica MATLAB para realizar las

operaciones. La potenciación tiene asignada la mayor prioridad, la multiplicación y la

división la siguiente y finalmente la suma y resta tienen la menor prioridad.

Por ejemplo en

EDU>> 4 + 6/2 <ENTER>

ans=

7

primero se realiza la división 6/2 y su resultado que es 3 se suma al 4 para dar el

resultado de 7. La precedencia se puede alterar usando paréntesis. Por ejemplo

EDU>> (4 + 6)/2 <ENTER>

ans=

5

ya que primero se efectúa el paréntesis y luego la división.

Page 13: Informe matlab

Tambien se pueden evaluar otras funciones como las funciones trigonométricas.

Por ejemplo

EDU>> sin(3)

ans=

0.1411

Aquí el argumento está en radianes. Para un listado de todas las funciones elementales

existentes en MATLAB simplemente escribimos help elfun. El significado de elfun es

elementary functions.

Algunas funciones en MATLAB

Función Notación en MATLAB

sen x sin (x)

cos x cos (x)

tan x tan (x)

sqrt (x)

log (x) log10 (x)

ln (x) log (x)

| x | abs (x)

e x exp (x)

A continuación presentamos algunos ejemplos

Si aproximamos el número irracional por 3.1416 obtenemos para sen

(3.1416):

EDU>> sin (3.1416)

ans=

-7.3464e-006

que es una buena aproximación al resultado exacto que es cero. MATLAB tiene

predefinido el valor de y lo almacena en la constante pi. De esta manera,

EDU>> sin (pi)

ans=

1.2246e-016

que es una mejor aproximación al resultado esperado.

EDU>> sqrt (2)

Page 14: Informe matlab

ans=

1.4142

EDU>> log10 (1000)

ans=

3.0000

Algunas constantes definidas en MATLAB son

pi 3.14159265…….

i unidad imaginaria =

j igual que i

eps precisión de las operaciones de punto flotante, 2-52

Inf infinito

NaN no un número (Not a Number)

En particular eps es una cantidad que se usa por lo general para evitar división

por cero y NaN es un resultado que MATLAB presenta cuando el resultado de la

operación indicada no es numérico.

3. COMO REALIZAR OPERACIONES MATEMÁTICAS, LÓGICAS Y RELACIONALES EN MATLAB.

3.1 Operadores Aritméticos.

El primer uso básico que le podemos dar a la ventana de comandos de

MATLAB es el de una calculadora, ingresamos los valores a operar y oprimimos la

tecla enter. Así por ejemplo

>> 3+4

ans =

7Las operaciones aritméticas son realizadas en el siguiente orden de prioridad:

Potenciación (^), división (/), producto (*), y suma (+) y resta (−). Así por ejemplo

>> 5/10*2+5

ans =

Page 15: Informe matlab

6

Si se quiere forzar un determinado orden, se deben utilizar paréntesis, que se evalúan

siempre al principio.

>> 5/(10*2+5)

ans =

0.2000

Las operaciones de igual prioridad se evalúan de izquierda a derecha:

>> 2/4*3

ans =

1.5000

Mientras que

>> 2/(4*3)

ans =

0.1667

Los cálculos que no se asignan a una variable en concreto se asignan a la variable de

respuesta por defecto que es ans (del inglés, answer):

>> 2+3

ans =

5Sin embargo, si el cálculo se asigna a una variable, el resultado queda guardado en ella:

>> x=2+3

x =

5

Para conocer el valor de una variable, basta teclear su nombre:

>> x

Page 16: Informe matlab

x =

5

Si se añade un punto y coma (;) al final de la instrucción, la máquina no muestra la

respuesta...

>> y=5*4;

... pero no por ello deja de realizarse el cálculo.

>> y

y =

20

Dos observaciones. El punto decimal es . (no una coma), y en MATLAB, las mayúsculas

y las minúsculas son distintas. Es decir, X es una variable diferente de x.

Además de ans, existen otro tipo de variables en MATLAB cuyo contenido se

encuentra predeterminado. Por ejemplo la variable pi almacena el valor 3.14159 . . .

>> pi

ans =

3.1416

y la variable i almacena el valor de

>> i

ans =

0 + 1.0000i

En el caso de variables numéricas, MATLAB presenta por defecto los

contenidos de las variables aproximados a 4 cifras decimales. El usuario puede

modificar el formato con el que se presentan los contenidos de tales variables con el

comando format, como se muestra en el siguiente ejemplo, sin olvidar que esto no

modifica los contenidos de las variables ni la manera como MATLAB ejecuta

internamente los computos, sino con el aspecto con que éstos se muestran:

Page 17: Informe matlab

>> 1/3

ans =

0.3333

>> format long

>> 1/3

ans =

0.33333333333333

>> format

Vuelve al formato estándar que es el de 4 cifras decimales.

En MATLAB están también definidas algunas funciones elementales. Las funciones, en

MATLAB, se escriben introduciendo el argumento entre paréntesis a continuación del

nombre de la función, sin dejar espacios. Así, por ejemplo, la función coseno,

>> cos(pi) ans =

-1pi es una variable con valor predeterminado 3.14159...

la función exponencial

>> exp(1)ans =

2.7183

función exponencial evaluada en 1, es decir, el número e

Otro ejemplo de función matemática: la raíz cuadrada; como puede verse, trabajar con

complejos no da ningún tipo de problema. La unidad imaginaria se representa en

MATLAB como i o j, variables con dicho valor como predeterminado:

>> sqrt(-4)

ans =

0+ 2.0000i

Page 18: Informe matlab

He aquí una tabla con algunas funciones elementales:Descripción Notación Científica Nombre en

MATLABEjemplo

Valor absoluto de x abs(x) >> abs(-24)ans = 24

Raíz cuadrada de x sqrt(x) >> sqrt(81)ans = 9

Exponencial de x exp(x) >> exp(5)ans = 148.4132

Logaritmo natural de x

log(x) >> log(100)ans = 4.6052

Logaritmo en base 10 de x

log10(x) >> log10(1000)ans = 3

Seno de x sin(x) >> sin(pi/6)ans = 0.5000

Coseno de x(x en radianes)

cos(x) >> cos(pi/6)ans = 0.8660

Tangent de x(x en radianes)

tan(x) >> tan(pi/6)ans = 0.5774

Secante de x(x en radianes)

sec(x) sec(pi/4)ans = 1.4142

Cosecante de x(x en radianes)

csc(x) csc(pi/4)ans = 1.4142

Cotangente de x(x en radianes)

cot(x) cot(pi/4)ans = 1.0000

Arcoseno de x (*) asin(x) >> asin(0.5)ans = 0.5236

Arcocoseno de x (*) acos(x) >> acos(0.5)ans = 1.0472

Arcotangente de x (*) atan(x) atan(1)ans = 0.7854

Factorial de x factorial(x) >> factorial(5)ans = 120

(*) El valor de retorno de la función viene dado en radianes.

Page 19: Informe matlab

3.2 Operadores de Comparación

Existen en MATLAB seis operadores de comparación: igual a (==), diferente de

(~=), menor que (<), mayor que (>), menor o igual a (<=) y mayor o igual a (>=). Por

ejemplo

>> 1 == 2

ans =

0produce como resultado ans = 0 (falso) mientras que

>> 1 < 2

ans =

1produce como resultado ans = 1 (verdadero). Observemos que al igual que con los

operadores aritméticos, para los operadores de relación el orden importa:

>> 1>2==2<3

ans =

1produce 1 (verdadero) mientras que

>> 1>2==(2<3)

ans =

0produce 0 (falso).

3.3. Operadores Lógicos

Los operadores lógicos son el Y (&), el O ( | ) y la negación (~). MATLAB le da

prioridad primero a ~, luego a & y finalmente a |. Asi por ejemplo

>> 0&11

ans =

1

Page 20: Informe matlab

da verdadero (cualquier valor distinto de cero es considerado verdadero) y

>> 0&(11)

ans =

0da falso. Otra operación lógica es el O excluyente (xor).

La tabla de verdad para todos estos operadores es mostrada a continuación

A B A&B A|B ~A Xor(A,B)0 0 0 0 1 00 1 0 1 1 11 0 0 1 0 11 1 1 1 0 0

Page 21: Informe matlab

4. VECTORES Y MATRICES

Uno de los aspectos más notables de MATLAB lo constituye la forma en que

permite manipular y operar con vectores y matrices.

Vectores fila

En general, se introducen escribiendo entre corchetes cada una de sus

componentes separadas por un espacio o una coma. Por ejemplo:

>> u=[1 2 3] %vector fila

u =

1 2 3

>> v=[2,0,-2] %vector fila

v =

2 0 -2

Vectores columna y matrices

En general, se introducen como los vectores "fila", separando las filas por un

punto y coma:

>> w = [3;-2;6] % vector columna

w =

3 -2 6

Para introducir una matriz en MATLAB se procede de la forma siguiente. Si

por ejemplo tenemos la matriz

se introduce como:

>> A = [1 2 3; 2 0 -2; 3 -4 3]

A =

Page 22: Informe matlab

1 2 3 2 0 -2 3 -4 6

O bien,>> B=[1, 2, 3, 4; 5, 6, 7, 8]

B =

1 2 3 4 5 6 7 8

4.1 Elementos de vectores y matrices

Hemos visto como definir vectores y matrices. Una vez definida una matriz a o un

vector es posible acceder o modificar sus elementos o submatrices con las órdenes

siguientes:

v(i) componente de v que ocupa la posición i.

v(i:j) componentes de v situadas entre la posición i y la posición j.

a(i,j) elemento de la matriz a que está en la fila i y la columna j.

a(i:j,k:l) submatriz de a que contiene las filas i hasta j y columnas k hasta l.

a(i,:) fila i de la matriz a.

a(:,j) columna j de la matriz a.

a(u,w) submatriz de a que contiene las filas indicadas en el vector u y las

columnas indicadas en el vector w.

Accediendo a los elementos de vectores o matrices

>> v(2) %componente 2 del vector v

ans =

0

>> w(3) %componente 3 del vector w

ans =

6

>> A(2,3) %elemneto (2,3) de la matriz A

ans =

Page 23: Informe matlab

-2

>> w(2:3) %componentes de la 2 a la 3 del vector w

ans =

-2 6>> v(1:2) %componentes del 1 al 2 del vector v

ans =

2 0

B(1:2,3:4) %submatriz de A desde filas 1 al 2, columnas 3 al 4

ans =

3 4 7 8

>> A(3,:) %fila 3 de la matriz A

ans =

3 -4 6

>> B(:,2) %columna 2 de la matriz B

ans =

2 6

Cambiando o redefiniendo los valores de vectores o matrices

>> u(1)=0 %redefine la primera componente de u a 0

u =

0 2 3

>> w(3)=-1 %redefine la componente 3 de w a -1

w =

3 -2 -1

Page 24: Informe matlab

>> A(2,2)=7 %redefine el elemento (2,2) de la matriz A a 7

A =

1 2 3 2 7 -2 3 -4 6

>> A(3,:)=[1 1 1] %redefine la 3 fila de A a (1 1 1)

A =

1 2 3 2 7 -2 1 1 1

>> B(:,4)=[4; 4] %refefine la 4 columna de B OJO con el ;

B =

1 2 3 4 5 6 7 4

4.2 Operaciones básicas con Matrices

Hemos visto cómo se introducen las matrices en MATLAB. Veamos un ejemplo para

introducir algunos de los comandos básicos:

>> A=[2 1;3 2]

A =

2 1 3 2

>> B=[3 4;-1 5]

B =

3 4 -1 5

>> L=[1 3 4; 6 8 -2]; M=[2 -1 -3;-5 -2 -4]; P=[2 3;5 -1];

Para sumar las dos matrices:

Page 25: Informe matlab

>> A+B

ans =

5 5 2 7

>> N=L+M

N =

3 2 1 1 6 -6Para multiplicar una matriz por un escalar:

>> 3*A

ans =

6 3 9 6

>> -2*M

ans =

-4 2 6 10 4 8

Observación: las operaciones con matrices deben hacerse entre matrices del mismo tipo

o tamaño en caso contrario MATLAB devuelve un error

>> A+M??? Error using ==> plusMatrix dimensions must agree.

Que significa: Error usando ==> suma. Las dimensiones de las matrices deben coincidir

Producto de matrices:

>> C=A*B

C =

5 13 7 22

>> P*M

Page 26: Informe matlab

ans =

-11 -8 -18 15 -3 -11

Siempre que los tamaños de las matrices sean los adecuados. Para saber cuál es el

tamaño de una matriz con la que estamos trabajando

>> size(A)

ans =

2 2

Que quiere decir, evidentemente, 2 filas y 2 columnas.

Para halla la matriz transpuesta usamos el apostrofe (') no confundirlo con el acento (´):

>> A'

ans =

2 3 1 2

>> L'

ans =

1 6 3 8 4 -2

Una función muy importante al trabajar con matrices es el determinante de una matriz

(det), es una función que solo está definida para matrices cuadradas

>> det(A)

ans =

-14

>> det(M)??? Error using ==> detMatrix must be square.(Error usando ==> det. La matriz debe ser cuadrada)

>> det(P') %determinante de P transpuesta

Page 27: Informe matlab

ans =

-17Si ahora calculamos el determinante de P comprobaremos los que no dice la teoría

det(P’)=det(P)

>> det(P)

ans =

-17

4.3 Ejemplos de operaciones con matrices

>> C=ones(2) % genera una matriz 2x2 de unos

C =

1 1 1 1

>> D=zeros(2,3) % genera una matriz 2x3 de ceros

D =

0 0 0 0 0 0

>> E=rand(3,2) % genera una matriz 3x2 aleatoria

E =

0.8147 0.9134 0.9058 0.6324 0.1270 0.0975

>> F=eye(3) % genera la matriz identidad de orden 3

F =

1 0 0 0 1 0 0 0 1

>> diag(F) % extrae la diagonal principal de F

ans =

1

Page 28: Informe matlab

1 1

>> diag([1 2 3]) % genera una matriz diagonal

ans =

1 0 0 0 2 0 0 0 3

>> A=[1 3 4; 5 5 -6]; B=[4 -2 -6;-5 -2 -4]; F=[5 1;2 -3];

>> C=A+B

C =

5 1 -2 0 3 -10

>> D=A-B

D =

-3 5 10 10 7 -2

>> E=A*B'

E =

-26 -27 46 -11

>> A.^2 %genera una matriz cuyos elementos son los de A elevado a la 2

ans =

1 9 16 25 25 36

>> A.*B %multiplicación uno a uno de elemento de A por elemento B

ans =

4 -6 -24 -25 -10 24

>> det(F) % obtiene el determinante de F

Page 29: Informe matlab

ans =

-17

>> inv(F) % obtiene la inversa de F

ans =

0.1765 0.0588 0.1176 -0.2941

Page 30: Informe matlab

Conclusión

En conclusión vemos que MATLAB es una potente herramienta que disponemos

para realizar cálculos en el ambiente de ingeniería y otras especialidades, con

capacidades que gradualmente podemos ir incluyendo a nuestros conocimientos y

aplicaciones del quehacer laboral e intelectual.

Generalmente el estudiante o Ingeniero que trabaja en procesos choca con la

dificultad de los complejos cálculos matemáticos que hay que desarrollar para resolver

los problemas que se generan en su área de trabajo. Encontrar la solución a estos

problemas muchas veces se torna engorroso y se corre el riesgo del que el más mínimo

error que se cometa en los procedimientos no permitan encontrar una respuesta o esta

sea errónea. Gracias a las facilidades de MATLAB se puede estar seguro sobre hallar la

respuesta correcta con menos esfuerzos y además se tiene un ahorro de tiempo

considerable.

Hoy en día, MATLAB es un programa muy potente, con un entorno agradable,

que incluye herramientas de cálculo científico y técnico y de visualización gráfica, así

como un lenguaje de programación de alto nivel que nos permite ir como siempre

gradualmente incrementando las capacidades de las posibles aplicaciones que se puedan

realizar.

MATLAB es una herramienta de cómputo orientada para realizar cálculos sobre

matrices. Cuenta con una gran cantidad de toolboxes para análisis y procesamiento de

datos. Además cuenta con una gran cantidad de herramientas para graficar funciones de

dos y tres dimensiones las cuales están integradas dentro de MATLAB. También

proporciona un ambiente de programación, el cual puede ser ampliado por el usuario

desarrollando sus propios archivos-m e integrándolos dentro del acervo de programas de

MATLAB. La manera de desarrollar programas en MATLAB es muy intuitiva y

permite generar código de una manera muy rápida. MATLAB trabaja con una memoria

dinámica que no requiere que se le declaren las variables que se van a usar durante el

programa, sino que estas se definen al usarlas por primera vez. Esta es una gran ventaja

ya que el usuario está en libertad de definir sus variables según lo requiere al escribir el

código.

Page 31: Informe matlab

MATLAB es un entorno de computación técnica que posibilita la ejecución del

cálculo numérico y simbólico de forma rápida y precisa, acompañado de características

gráficas y de visualización avanzadas aptas para el trabajo científico y la ingeniería.

MATLAB es un entorno interactivo para el análisis y el modelado que implementa más

de 500 funciones para el trabajo en distintos campos de la ciencia.

Por otra parte, MATLAB presenta un lenguaje de programación de muy alto

nivel basado en vectores, arrays y matrices. Además el entorno básico de MATLAB se

complementa con una amplia colección de toolboxes que contienen funciones

específicas para determinadas aplicaciones en diferentes ramas de las ciencias y la

ingeniería. En este curso de matemática aplicada se comenzara tratando el módulo

básico de MATLAB y sus aplicaciones en materias como la programación, el análisis

matemático, el álgebra lineal y el cálculo numérico.

MATLAB es óptimo para cálculos matriciales. Además MATLAB se actualiza

regularmente u algo que es muy importante es que se usa ampliamente en la ingeniería.

Sin duda alguna la idea clave es que siempre use una estrategia sistemática de

resolución de problemas.

Page 32: Informe matlab

Bibliografía

Pérez López César. (2002). MATLAB y sus aplicaciones en las ciencias y la ingeniería.

Prentice Hall. Páginas: 6 – 14.

Báez López David. (2006). MATLAB con aplicaciones a la ingeniería, física y finanzas.

Alfaomega. Páginas: 9 – 32.

Moore Holly. (2007). Matlab para ingenieros. Pearson Prentice Hall. Paginas: 1 – 53.

Escalante Fernández René. CURSO INTRODUCTORIO DE MATLAB. Editorial

Equinoccio. Venezuela 2006

Gilat Amos. MATLAB: UNA INTRODUCCIÓN CON EJEMPLOS PRÁCTICOS.

Editorial Reverté. España 2006.

Javier García de Jalón, José Ignacio Rodríguez, Jesús Vidal. APRENDA MATLAB 7.0

COMO SI ESTUVIERA EN PRIMERO. Escuela Técnica Superior de Ingenieros

Industriales. Universidad Politécnica de Madrid. España 2005

Tomás Aranda y J. Gabriel García. Tomás Aranda y J. Gabriel García. NOTAS SOBRE

MATLAB. Servicio de publicaciones de la Universidad de Oviedo. España 1999.