trabajo matlab 5% respuestas

27
Universidad Centroccidental Lisandro Alvarado Decanato de Agronomía Programa de Ingeniería Agroindustrial Desechos Agroindustriales I Bachilleres: González María E. C.I:18.656.797

Upload: maru172

Post on 18-May-2015

1.645 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Trabajo matlab 5% respuestas

Universidad CentroccidentalLisandro Alvarado

Decanato de AgronomíaPrograma de Ingeniería Agroindustrial

Desechos Agroindustriales I

Bachilleres:González María E. C.I:18.656.797

Sosa Jorge C.I:18.104.057Prof.: Juan Molina

Computación Aplicada

29/04/2011

Page 2: Trabajo matlab 5% respuestas

INTRODUCCIONINTRODUCCION

MATLAB es un lenguaje de alto nivel desarrollado para realizar cálculos técnicos. Su

nombre deriva de Matrix Laboratory (Laboratorio de Matrices). Por su capacidad

MATLAB es un sistema interactivo ideal para aplicaciones de ingeniería. Los distintos usos

que se le pueden dar son: Matemáticas y cálculos, Desarrollo de algoritmos, Modelado y

simulación, Análisis y visualización de datos, Gráficos científicos e ingenieriles,

Desarrollos aplicados, incluyendo la construcción de interfaces gráficas.

MATLAB nace como una solución a la necesidad de mejores y más poderosas

herramientas de cálculo para resolver problemas de cálculo complejos en los que es

necesario aprovechar las amplias capacidades de proceso de datos de grandes

computadores.

Fue creado por Cleve Moler en 1984, surgiendo la primera versión con la idea de

emplear paquetes de subrutinas escritas en Fortran en los cursos de álgebra lineal y análisis

numérico, sin necesidad de escribir programas en dicho lenguaje. El lenguaje de

programación MATLAB fue creado en 1970 para proporcionar un sencillo acceso al

software de matrices LINPACK y EISPACK sin tener que usar Fortran. En 2004, se

estimaba que MATLAB era empleado por más de un millón de personas en ámbitos

académicos y empresariales.

El Lenguaje de Computación Técnica MATLAB es un ambiente de computación

técnica integrada que combina computación numérica, gráficos y visualización avanzada y

un lenguaje de programación de alto nivel. Combina computación numérica, gráficos 2D y

3D y capacidades de lenguaje en un único ambiente fácil de usar. Con su amplio rango de

herramientas para modelar sistemas de control, análisis, simulación y procesamiento de

prototipos, es además el sistema ideal para desarrollar sistemas avanzados de control.

Page 3: Trabajo matlab 5% respuestas

Que es MATLAB

Es un lenguaje de alto desempeño diseñado para realizar cálculos técnicos. MATLAB

integra el cálculo, la visualización y la programación en un ambiente fácil de utilizar donde

los problemas y las soluciones se expresan en una notación matemática. MATLAB es un

sistema interactivo cuyo elemento básico de datos es el arreglo que no requiere de

dimensionamiento previo. Esto permite resolver muchos problemas computacionales,

específicamente aquellos que involucren vectores y matrices, en un tiempo mucho menor al

requerido para escribir un programa en un lenguaje escalar no interactivo tal como C o

Fortran.

Funcionalidad de MATLAB

En el ámbito académico y de investigación, es la herramienta estándar para los cursos

introductorios y avanzados de matemáticas, ingeniería e investigación. En la industria

MATLAB es la herramienta usada para el análisis, investigación y desarrollo de nuevos

productos tecnológicos.

La ventaja principal de MATLAB es el uso de familias de comandos de áreas

específicas llamadas toolboxes. Lo más importante para los usuarios de MATLAB es que

los toolboxes le permiten aprender y aplicar la teoría. Los toolboxes son grupos de

comandos de MATLAB (archivos M) que extienden el ambiente de MATLAB para

resolver problemas de áreas específicas de la ciencia e ingeniería. Por ejemplo, existen

toolboxes para las áreas de Procesamiento Digital de Señales, Sistemas de Control, Redes

Neuronales, Lógica Difusa, Wavelets, etc.

Como realizar operaciones matemáticas, lógicas y relacionales en Matlab.

(Plantear ejemplos de sumas, restas, comparaciones con desigualdades,

operaciones lógicas and, or, etc entre dos valores).

Page 4: Trabajo matlab 5% respuestas

Funciones Matemáticas:

Orden de evaluación: se evalúan primero las potencias, a continuación los productos y

divisiones y finalmente las sumas y restas. Cuando aparezcan operaciones con el mismo

orden de precedencia a la hora de ser evaluadas (productos y divisiones o bien sumas y

restas) se efectúan las operaciones de izquierda a derecha.

OPERACIÓN SÍMBOLO EJEMPLOSuma + 5+3

Resta - 32-12

Multiplicación * 3.4*0.85

División / ó \ 56/8 = 8 \56

Potencia ^ 5^2

También:

3^2-5-6/3*2=0 4*3^2+1=37

Se pueden utilizar paréntesis para alterar el orden de las operaciones:

3^2-5-6/ (3*2)=3 (4*3) ^2+1=145

Funciones Lógica y Relacional

Matlab dispone de tres operadores lógicos

& (y)

| (o)

~ (No)

... y las únicas respuestas posibles con las operaciones lógicas son:

Cierto = 1 y Falso = 0.

El resultado de C = A & B es una matriz cuyos elementos son unos donde A y B sean

ambos distintos de cero, y ceros donde A ó B sean cero. A y B deben ser matrices con las

mismas dimensiones, a menos que una de ellas sea un escalar.

El resultado de C = A| B es una matriz cuyos elementos son unos donde A ó B tienen un

elemento diferente de cero, y ceros donde ambas tienen elementos cero. A y B deben ser de

matrices con las mismas dimensiones, a menos que una sea un escalar.

Page 5: Trabajo matlab 5% respuestas

El Resultado de B = ~ A es una matriz cuyos elementos son uno donde A tiene un elemento

cero, y ceros donde A tiene elementos diferentes de cero.

Asimismo, se dispone de 6 operadores relacionales:

> Mayor que

< Menor que

>= Mayor o igual a

<= Menor o igual a

== Igual a

Ejemplo funciones y, o, no (&,|, ¯)

(1 < 2) & (2 < 3) Verdadero (1)

(1 < 2) & (2 < 1) Falso (0)

(1 < 2) | (2 < 1) Verdadero (1)

~ (2 < 1) Verdadero (1)

Ingresar una matriz

Como en casi todos los lenguajes de programación, en MATLAB las matrices y

vectores son variables que tienen nombres.

Para definir una matriz no hace falta establecer de antemano su tamaño (de hecho, se

puede definir un tamaño y cambiarlo posteriormente). MATLAB determina el número de

filas y de columnas en función del número de elementos que se proporcionan (o se

utilizan). Las matrices se definen por filas; los elementos de una misma fila están

separados por blancos o comas, mientras que las filas están separadas por pulsaciones intro

o por caracteres punto y coma.

Para introducir una matriz en Matlab se procede de la forma siguiente. Si por ejemplo

tenemos la matriz

A=(1 2 35 6 7

48)

Page 6: Trabajo matlab 5% respuestas

Se introduce como:

>> A = [1 2 3 4; 5 6 7 8]

A =

1 2 3 4

5 6 7 8

O bien,

>> A = [1, 2, 3,4; 5, 6, 7,8]

Observemos que unas matrices especiales son los vectores, de esta forma, el vector fila v =

(1.0, 1.1, 1.2, 1.3,...,1.9, 2.0)

Operaciones con Matrices

MATLAB puede operar con matrices por medio de operadores y por medio de

funciones.

Se han visto ya los operadores suma (+), producto (*) y traspuesta ('), así como la función

invertir inv( ).

Los operadores matriciales de MATLAB son los siguientes:

+ Adición o suma

– sustracción o resta 16

* Multiplicación

' Traspuesta

^ Potenciación

\ división-izquierda

/ división-derecha

.* Producto elemento a elemento

/. y.\ división elemento a elemento

^. Elevar a una potencia elemento a elemento

Estos operadores se aplican también a las variables o valores escalares, aunque con

algunas diferencias. Todos estos operadores son coherentes con las correspondientes

operaciones matriciales: no se puede por ejemplo sumar matrices que no sean del mismo

tamaño. Si los operadores no se usan de modo correcto se obtiene un mensaje de error.

Page 7: Trabajo matlab 5% respuestas

Los operadores anteriores se pueden aplicar también de modo mixto, es decir con un

operando escalar y otro matricial. En este caso la operación con el escalar se aplica a cada

uno de los elementos de la matriz. Considérese el siguiente ejemplo:

» A=[1 2; 3 4]

A =

1 2

3 4

» A*2

ans =

2 4

6 8

» A-4

ans =

-3 -2

-1 0

Los operadores de división requieren una cierta explicación adicional. Considérese el

siguiente sistema de ecuaciones lineales,

Ax = b (1)

En donde x y b son vectores columna, y A una matriz cuadrada invertible. La resolución de

este sistema de ecuaciones se puede escribir en las 2 formas siguientes:

x = inv(A)*b (2a)

x = A\b (2b)

Así pues, el operador división-izquierda por una matriz (barra invertida \) equivale a

premultiplicar por la inversa de esa matriz. En realidad este operador es más general de lo

que aparece en el ejemplo anterior: el operador división-izquierda es aplicable aunque la

matriz no tenga inversa e incluso no sea cuadrada, en cuyo caso la solución que se obtiene

(por lo general) es la que proporciona el método de los mínimos cuadrados. En algunos

Page 8: Trabajo matlab 5% respuestas

casos se obtiene la solución de mínima norma sub-1. Por ejemplo, considérese el siguiente

ejemplo de matriz (1x2) que conduce a un sistema de infinitas soluciones:

» A= [1 2], b= [2]

A =

1 2

b =

2

» x=A\b

x =

0

1

Que es la solución cuya suma de valores absolutos de componentes (norma sub-1) es

mínima. Por otra parte, en el caso de un sistema de ecuaciones redundante (o sobre

determinado) el resultado de MATLAB es el punto más “cercano” -en el sentido de los

mínimos cuadrados- a las ecuaciones dadas (aunque no cumpla exactamente ninguna de

ellas). Véase el siguiente ejemplo de tres ecuaciones formadas por una recta que no pasa

por el origen y los dos ejes de coordenadas:

» A= [1 2; 1 0; 0 1], b= [2 0 0]'

A =

1 2

1 0

0 1

b =

2

0

0

» x=A\b, resto=A*x-b

x =

0.3333

0.6667

Page 9: Trabajo matlab 5% respuestas

resto =

-0.3333

0.3333

0.6667

Aunque no es una forma demasiado habitual, también se puede escribir un sistema de

ecuaciones lineales en la forma correspondiente a la traspuesta de la ecuación (1):

yB = c (3)

Donde y y c son vectores fila (c conocido). Si la matriz B es cuadrada e invertible, la

solución de este sistema se puede escribir en las formas siguientes:

y = c*inv(B) (4a)

y = c/B (4b)

En este caso, el operador división-derecha por una matriz (/) equivale a postmultiplicar por

la inversa de la matriz. Si se traspone la ecuación (3) y se halla la solución aplicando el

operador división-izquierda de obtiene:

y’ = (B’)\c’ (5)

Comparando las expresiones (4b) y (5) se obtiene la relación entre los operadores división

izquierda y división-derecha (MATLAB sólo tiene implementado el operador

división-izquierda):

c/B = ((B’)\c’)’ (6)

En MATLAB existe también la posibilidad de aplicar elemento a elemento los operadores

matriciales (*, ^, \ y /). Para ello basta precederlos por un punto (.). Por ejemplo:

» [1 2 3 4] ^2

??? Error using ==> ^

Matrix must be square.

» [1 2 3 4]. ^2

ans =

Page 10: Trabajo matlab 5% respuestas

1 4 9 16

» [1 2 3 4]*[1 -1 1 -1]

??? Error using ==> *

Inner matrix dimensions must agree.

» [1 2 3 4].*[1 -1 1 -1]

ans =

1 -2 3 -4

Acceder a una posición de la matriz

Se accede a los elementos de un vector poniendo el índice entre paréntesis (por ejemplo

x (5) ó x (i)). Los elementos de las matrices se acceden poniendo los dos índices entre

paréntesis, separados por una coma (por ejemplo A (1,2) ó A (i, j)). Las matrices se

almacenan por columnas (aunque se introduzcan por filas, como se ha dicho antes), y

teniendo en cuenta esto puede accederse a cualquier elemento de una matriz con un sólo

subíndice. Por ejemplo, si A es una matriz (3x3) se obtiene el mismo valor escribiendo A

(1,2) que escribiendo A (4).

Cambiar un valor de una posición especifica en una matriz.

Al igual que sucede con los vectores, es posible cambiar el valor de un solo

elemento de la matriz asignándole un nuevo valor. Asimismo, los elementos se pueden

utilizar individualmente como variables en expresiones matematicas y funciones. He

aquí algunos ejemplos:

>>MAT = [3 11 6 5; 4 7 10 2; 13 9 0 8] crea una matriz 3 x 4

MAT =

3 11 6 5

4 7 10 2

13 9 0 8

>> MAT(3,1) = 20 asigna un nuevo valor al elemento (3,1)

Page 11: Trabajo matlab 5% respuestas

MAT =

3 11 6 5

4 7 10 2

20 9 0 8

>>MAT(2,4) – MAT(1,2) utilización de los elementos de la matriz en

ans = expresiones matematicas

-9

>>

Multiplicación de Matrices.

La multiplicación de matrices en MATLAB se expresa usando el operador para la

multiplicación:

>> a = [1 2;4 3;0 2];

>> b = [5; 1];

>> c = a * b

Produce:

c = 7

232

A continuación se muestran las matrices que se pueden generar con MATLAB:

Matrices Elementales Descripción

Eye (n) Matriz identidad

Ones (m, n) Arreglo m x n de unos

Page 12: Trabajo matlab 5% respuestas

Rand (m, n) Aleatoria unif. m x n

Randn (m, n) Aleatoria norm. m x n

zeros (n) Matriz n x n nula

zeros (m, n) Matriz m x n nula

Matrices Especiales Descripción

Gallery Matrices de prueba de Higham

Hadamard (n) Matriz de Hadarmard

Hankel (n) Matriz de Hankel

Hilb (n) Matriz de Hilbert

Invhilb (n) Inversa de hilb(n)

Magic (n) Cuadro Mágico

Pascal (n) Matrices de Pascal

Rosser Matriz deprueba para el problema de los

autolavadores (caso simetrico)

Sparse Crea una matriz dispersa

Spiral (n) Sigue un patrón en esperial

Toeplitz (c, r) Matriz de Toeplitz

Vander Matriz de Vandermonde

Wilkinson (n) Matriz de prieba de Winkinson

Determinar una matriz Transpuesta.

Se puede determinar la transpuesta de un vector o de una matriz así.

 

x'

 

Si deseo crear una matriz z con el valor del transpuesto de y solo hay que asignarle la

transpuesta de x a z así:

 

z = x'

Si A = [1 2 3; 4 5 6] tiene dos filas

Page 13: Trabajo matlab 5% respuestas

A = [12 3

4 5 6] También genera la matriz A, pero es más difícil de escribir.

B = [1 2 3; 4 5 6]' es la transpuesta de A. Así pues, AT es A' en MATLAB.

Ejemplos de operaciones con matrices.

Suma:

a. » x=[10 20 30]

x =

10 20 30

» y=[11; 12; 13]

y =

11

12

13

» x+y'

ans =

21 32 43

b. >>A=[2 1;3 2]

A =

2 1

3 2

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

B =

3 4

-1 5

Page 14: Trabajo matlab 5% respuestas

>>A+B

ans =

5 5

2 7

Resta:

a. » A=[1 2; 3 4]

A =

1 2

3 4

» A-4

ans =

-3 -2

-1 0

b. >> A = [1 2 3; 4], B = [5, 6, 7, 8]

A =

1 2 3 4

B =

5 6 7 8

>> A - B

ans =

-4 -4 -4 -4

Multiplicación:

Page 15: Trabajo matlab 5% respuestas

a. A=[1 2 3; -2 3 5; 3 4 17]

x=[1 -3 7]

Ax=A*x

Ax =

16

24

110

b. » A=[1 2; 3 4]

A =

1 2

3 4

» A*2

ans =

2 4

6 8

División:

a. » A=[1 2], b=[2]

A =

1 2

b =

2

» x=A\b

x =

0

1

b. >> A = [1 2 3; 4], B = [5, 6, 7, 8]

A =

1 2 3 4

Page 16: Trabajo matlab 5% respuestas

B =

5 6 7 8

>> A / B

ans =

0.2000 0.3333 0.4286 0.5000

Transpuesta:

a. >>A=[2 1;3 2]

A =

2 1

3 2

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

B =

3 4

-1 5

>>A'

ans =

2 3

1 2

b. A =[2 4;6 8]; 

A =

2 4

6 8

C = A'

Page 17: Trabajo matlab 5% respuestas

C =2  6 4  8

CONCLUSIONCONCLUSION

MATLAB ha pasado de ser algo creado simplemente para dar apoyo en cursos

relacionados con Teoría de Matrices a convertirse en una poderosa herramienta tanto en el

ámbito educativo como en el industrial.

Page 18: Trabajo matlab 5% respuestas

A nivel educativo se ha convertido en la principal herramienta de los cursos

relacionados con el Álgebra Matricial, tanto a nivel básico como a nivel superior. A nivel

industrial, tiene una gran cantidad de aplicaciones en muchos problemas prácticos de

ingeniería y matemáticas. Es altamente utilizado en geofísica, en el diseño de sistemas de

control, en procesamiento de señales, en inteligencia artificial y redes neuronales, en

simulación de sistemas dinámicos, en optimización, en problemas de modelaje y sistemas

dinámicos (con Simulink, que puede considerarse como una extensión o un anexo de

MATLAB), etc. Otro aspecto importante hoy en día es su capacidad gráfica, en 2 y en 3

dimensiones.

Es importante resaltar que para programar en MATLAB lo que se necesita es visualizar

el esquema de lo que se quiere realizar, es decir del programa que se quiere hacer y

prácticamente traducirlo al lenguaje inglés con muy pocos detalles de sintaxis. Para

personas que tengan nociones básicas de programación, puede aprender las cosas más

elementales de MATLAB de manera autodidacta siempre y cuando tenga las nociones

matemáticas elementales del manejo de las matrices.

MATLAB es un entorno interactivo que utiliza como tipos de datos básicos vectores y

matrices de flotantes que no requieren ser dimensionados. Permite distinguir vectores fila

de vectores columna y calcular la transpuesta de un vector, admite tres opciones distintas de

formato: format long: muestra los valores con la mayor precisión posible para format

short: la opción por defecto. Format rat (o format rational): muestra los valores en forma

de racionales. Es posible sumar vectores, multiplicarlos por un escalar, calcular su módulo

o calcular su producto escalar; como se ha descrito anteriormente permite definir matrices y

acceder a sus componentes elementales; también es posible extraer fácilmente submatrices

así como multiplicar matrices y vectores

Por todo lo anterior se puede decir que el objetivo además de conocer los comandos en

un lenguaje de instrucciones se busca en general el entendimiento del proceso, las

funciones que ejercen los comandos digitados por el usuario tienen una función

Page 19: Trabajo matlab 5% respuestas

determinada, lo que se busca es facilitar estos procesos que requieren que se resuelvan a

papel y lápiz, pero con solo entender lo que se necesita realizar, podemos lograr estos

cálculos utilizando de manera esencial la herramienta MATLAB.

BIBLIOGRAFIABIBLIOGRAFIA

Matlab e Interfaces Gráficas. Universidad Autónoma de Baja California, Unidad

Tijuana

Ambrosio.Operaciones con matrices y vectores. Capitulo 2. Ambrosio.

Page 20: Trabajo matlab 5% respuestas

Introducción a Matlab: Conceptos Básicos. Luis Pedauga y Francisco Sáez. Julio 4,

2005

Gilat Amos. Matlab una introducción con ejemplos practicos. Segunda Edicion.

Editorial Reverté. Barcelona España. 2005.

Escalante Fernández Rene. Curso introductorio de Matlab. Editorial Equinoccio.

Caracas Venezuela. 2006.

http://mit.ocw.universia.net/18.06/f02/related-resources/matlab.pdf

http://www.roberto-acevedo.cl/wp-content/uploads/2011/02/practica1.pdf

http://www.di.uniovi.es/~dani/asignaturas/transparencias-leccion20.pdf

http://www.math.utah.edu/~eyre/computing/matlab-intro/math.html