Matlab -compu_aplicada

20
Universidad Centroccidental “Lisandro Alvarado” Decanato de Agronomía Programa de Ingeniería Agroindustrial Núcleo Obelisco Integrantes De la Cruz Hernaly 18.923.

description

Computación aplicada - Trabajo de MatLab

Transcript of Matlab -compu_aplicada

Page 1: Matlab  -compu_aplicada

Universidad Centroccidental“Lisandro Alvarado”

Decanato de AgronomíaPrograma de Ingeniería Agroindustrial

Núcleo Obelisco

Integrantes

De la Cruz Hernaly 18.923.091.

Pérez, Jorge T. 16.238.290

Computación Aplicada

Grupo C.

Barquisimeto, Abril del 2011

Page 2: Matlab  -compu_aplicada

INTRODUCCIÓN

En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo

es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que

permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba

realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos

se llega a un estado final y se obtiene una solución. []

En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas.

Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato,

o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en

matemática son el algoritmo de la división para calcular el cociente de dos números, el

algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el

método de Gauss para resolver un sistema lineal de ecuaciones.

MATLAB es un entorno de computación y desarrollo de aplicaciones totalmente

integrado orientado para llevar a cabo proyectos en donde se encuentren implicados elevados

cálculos matemáticos y la visualización gráfica de los mismos. MATLAB integra análisis

numérico, cálculo matricial, proceso de señal y visualización gráfica en un entorno completo

donde los problemas y sus soluciones son expresados del mismo modo en que se escribirían

tradicionalmente, sin necesidad de hacer uso de la programación tradicional.

De forma coherente y sin ningún tipo de fisuras, integra los requisitos claves de un

sistema de computación técnico: cálculo numérico, gráficos, herramientas para aplicaciones

específicas y capacidad de ejecución en múltiples plataformas. Esta familia de productos

proporciona al estudiante un medio de carácter único, para resolver los problemas más

complejos y difíciles.

Page 3: Matlab  -compu_aplicada

PROGRAMA MATLAB

MATLAB es el nombre abreviado de “MATrix LABoratory” (laboratorio matricial).

MATLAB es un programa para realizar cálculos numéricos con vectores y matrices. Como

caso particular puede también trabajar con números escalares −tanto reales como complejos−,

con cadenas de caracteres, procesamiento de señales e imágenes, diseño de sistemas de

control, programacion con MATLAB, aplicaciones en ingeniería, en física, en contaduría y

finanzas, simulación de procesos mediante diagramas de bloques y con otras estructuras de

información más complejas. Una de las capacidades más atractivas es la de realizar una

amplia variedad de gráficos en dos y tres dimensiones.

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 (técnicos y científicos)

en los que es necesario aprovechas las amplias capacidades de proceso de datos de grandes

computadores.

OPERACIONES MATEMÁTICAS

Matlab es un programa command-driven, es decir, que se introducen las órdenes

escribiéndolas una a una a continuación del símbolo » (prompt) que aparece en una interfaz de

usuario (una ventana). Para distinguir esos comandos, junto con la respuesta del programa, se

emplean un tipo de letra diferente.

La notación para las operaciones matemáticas elementales es la siguiente:  

SÍMBOLO

OPERACIÓN

^ Exponenciación * Multiplicación

/ División+ Suma- Resta

EJEMPLOS

» x=2+3 x =

5

Page 4: Matlab  -compu_aplicada

Si no se asigna el resultado a ninguna variable, Matlab lo asigna por defecto a la

variable ans (answer):

» 2+3 ans =

5

Para saber cuál es el valor asignado a una determinada variable, basta introducir el

nombre de la variable:

» x x =

5

El orden en que se realizan las operaciones de una línea es el siguiente: primero, la

exponenciación; luego, las multiplicaciones y divisiones; y finalmente, las sumas y las restas.

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

al principio. Por ejemplo, para hallar dos entre tres:

» 2/2+1ans =

2

(En efecto: primero se calcula 2/2 y luego se suma 1).

» 2/(2+1) ans =

0.6667

Primero se calcula el paréntesis (2+1) y luego se realiza la división.

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.

En Matlab están también definidas algunas funciones elementales. Las funciones se

escriben introduciendo el argumento entre paréntesis a continuación del nombre de la función,

sin dejar espacios. La notación para algunas funciones elementales es la siguiente:

sin Senocos Cosenotan Tangentesec Secante

Page 5: Matlab  -compu_aplicada

csc Cosecantecot Cotangenteexp Exponenciallog logaritmo naturalsqrt raíz cuadradaabs valor absoluto

Para obtener las funciones trigonométricas inversas, basta añadir una “a” delante del

nombre. Y para las funciones hiperbólicas, una “h” al final.

EJEMPLO:

» y=exp(0)

y =

1

VECTORES

Un vector se define introduciendo los componentes, separados por espacios o por comas,

entre corchetes.

» v=[sqrt(3) 0 -2] Se tiene un vector fila con tres elementos (1x3)v =

1.7321   0   -2.0000

Los elementos de un vector pueden ser cualquier expresión de MATLAB.

Para definir un vector columna, se separan las filas por puntos y comas (;):

» w=[1;0;1/3] w =

1.0000 0 0.3333

La operación transponer (cambiar filas por columnas) se designa por el apóstrofe:

» w' ans =

1.0000   0   0.3333

w=[1;0;1/3]' es la transpuesta de w. Así pues, wT es w' en MATLAB.

Page 6: Matlab  -compu_aplicada

Las operaciones matemáticas elementales pueden aplicarse a los vectores:

» v*w ans =

1.0654

» v+w' ans =

2.7321   0   -1.6667 Para crear un vector de componentes equiespaciados se emplean los dos puntos:

» x=4:2:10 x =

4 6 8 10 Los componentes de x van desde 4 de 2 en 2 hasta 10. Es decir, los valores que

aumentan sucesivamente

También se puede escribir

»w = 2:5 define el vector de filas w = [2 3 4 5] mediante valores que aumentan sucesivamente en una unidad.

MATRICES

MATLAB trabaja esencialmente con matrices numéricas rectangulares. Para

introducir matrices, introduciendo filas una por una, los elementos deben estar cerrados entre

corchetes, [ ], se separa cada fila con un punto y coma (;) y los elementos se separan por

blancos ó comas, ejemplos:

» M = [1 2 3; 4 5 6; 7 8 9] M =

1 2 3 4 5 6 7 8 9

También se puede escribir:

M = [12 3 4 5 6]

Lo cual también genera una matriz, pero es más difícil de escribir.

Los elementos de una matriz pueden ser cualquier expresión de MATLAB.

x = [-1.3,sqrt(3),(1+2+3)*4/5]

Page 7: Matlab  -compu_aplicada

Resultaría enx = -1.3000 1.7321 4.8000

En MATLAB el formato normal, format short (formato corto), muestra 4 dígitos

decimales. Para ver los números con 16 dígitos, se escribe format long (formato largo).

Para referirse a un elemento de la matriz se hace así:

» M(3,1) ans =

7

Para referirse a toda una fila o a toda una columna se emplean los dos puntos (:)

» v1=M(:,2) v1 =

2 5 8

(v1 son todas las filas de la segunda columna de M).

La instrucción M(3, 1) = 5 coloca un 5 en el elemento (3, 1). Fila 3 columna 1

» M(3,1)=5ans =

1 2 3 4 5 6 5 8 9

También se puede cambiar otros elementos:

» M(3,:)=v Sustituye los valores de la tercera fila por los de un vector fila v dado. » M(:,2)=w sustituye los valores de la segunda columna por los de un

vector columna w dado. » M([2 3],:)= M([3 2],:) intercambia las filas 2 y 3 de A.

La operación transponer (cambiar filas por columnas) se designa por el apóstrofe, al igual que se realiza con los vectores:

M = [1 2 3; 4 5 6; 7 8 9]'ans =

1 4 7 2 5 8 3 6 9

Page 8: Matlab  -compu_aplicada

M=[1 2 3; 4 5 6;7 8 9]' es la transpuesta de M. Así pues, MT es M' en

MATLAB.

Con las matrices también funcionan las operaciones matemáticas elementales. Así

» M^2 ans =

30  36  42 66  81  96 102 126 150

Si se quiere operar en los elementos de la matriz, uno por uno, se pone un punto antes

del operador. Si se quiere elevar al cuadrado cada uno de los elementos de M, entonces

» M.^2 ans =

1  4  9 49 5 36 49 64 81

Suma y resta también están definidos si uno de los operandos es un escalar, es decir, una matriz 1 x 1.

Ejemplo:

x=[-1;0;2]y= x – 1 resultaría eny = -2 -1 1Multiplicación de Matrices

- Por un escalar

Ejemplo

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

2 1 3 2

Para multiplicar una matriz por un escalar:

>>3*Aans =

6 3 9 6

- Producto de matrices:

Page 9: Matlab  -compu_aplicada

Al igual que la multiplicación aritmética, su definición es instrumental, es decir, viene

dada por un algoritmo capaz de resolverla. El algoritmo que resuelve la multiplicación

matricial es diferente del que resuelve la multiplicación de dos números. La diferencia

principal es que la multiplicación de matrices no cumple con la propiedad de conmutatividad.

La operación de multiplicación de matrices está definida siempre que el número de

columnas de la primera matriz sea igual al número de filas de la segunda matriz:

PRODUCTO = M1(m,n)*M2(n,p) VALIDO

PRODUCTO = MATRIZ 1 (3x2)*MATRIZ 2 (2x4) VALIDO

PRODUCTO = MATRIZ 1 (2x3)*MATRIZ 2 (2x4) NO VALIDO

Ejemplo

>>aa= 1 1

2 23 3

>>bb= 4 4 4

5 5 5

>>cc= 4 5

4 54 5

.>>da= 5

6

>>a*bans= 9 9 9

18 18 18 27 27 27

>>b*aans= 24 24

30 30

>>a*dans= 11

Page 10: Matlab  -compu_aplicada

22 33

>>b*cans= 48 60

60 75

>>c*bans= 41 41 41

41 41 41 41 41 41

>>c*dans= 50

50 50

NOTA: 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.

Algunas funciones definidas sobre matrices:

Det determinanteInv matriz inversaPoly polinomio característico' transpuesta

OPERADORES RELACIONALES

También denominados operadores binarios lógicos y de comparación, se utilizan para

comprobar la veracidad o falsedad de determinadas propuestas de relación (en realidad se

trata respuestas a preguntas). Las expresiones que los contienen se denominan expresiones

relacionales. Aceptan diversos tipos de argumentos, y el resultado, que es la respuesta a la

pregunta, es siempre del tipo cierto/falso; Si una comparación se cumple el resultado es 1

(cierto), mientras que si no se cumple es 0 (falso).

Operador Descripción< Menor que

<= Menor o igual que

Page 11: Matlab  -compu_aplicada

> Mayor que>= Mayor o igual que== Igual a~= Distinto que (No igual a)

Es importante no dejar espacios entre los operadores formados por dos símbolos.

En MATLAB los operadores relacionales pueden aplicarse a vectores y matrices, y

eso hace que tengan un significado especial. Cuando los operadores relacionales de MATLAB

se aplican a dos matrices o vectores del mismo tamaño, la comparación se realiza elemento a

elemento, y el resultado es otra matriz de unos y ceros (matriz binaria) del mismo tamaño, que

recoge el resultado de cada comparación entre elementos.

Ejemplo

>> A=1:9

A =

1 2 3 4 5 6 7 8 9

>> tf=A>4 % Encuentra elementos de A que son mayores que 4.

tf =

0 0 0 0 1 1 1 1 1

OPERADORES LÓGICOS

Los operadores lógicos proporcionan un medio de combinar o negar expresiones

relacionales

Operador Descripción

& AND

| OR

~ NOT

La salida de las operaciones lógicas se pueden utilizar también en operaciones

matemáticas.

Los operadores lógicos se combinan con los relacionales para poder comprobar el

cumplimiento de condiciones múltiples.

Funcionan de la siguiente manera sobre dos datos, A y B, que sean lógicos. Su salida

es un dato lógico.

OPERADOR AND

Page 12: Matlab  -compu_aplicada

A / B Cierto FalsoCierto True FalseFalso False False

OPERADOR OR

A / B Cierto FalsoCierto True TrueFalso True False

Operador NOT

A / B Cierto FalsoCierto True FalseFalso False True

Ejemplo:

Comparación de dos vectores con relaciones lógicas elemento por elemento; en la

comparación la salida produce: Valor uno (1) si es verdadero (true en ingles) y Valor cero (0)

si es falso (false en ingles).

a=[1,2,6,7,2,8,3,4,8]

b=[2,5,2,4,7,2,9,4,1]

r1=a>b

r2=a<b

r3=a<=b

r4=a>=b

r5=a==b

a= 1 5 6 7 2 8 3 4 8

b= 2 5 2 4 7 2 9 4 1

r1= 0 0 1 1 0 1 0 0 1

r2= 1 0 0 0 1 0 1 0 0

r3= 1 1 0 0 1 0 1 1 0

r4= 0 1 1 1 0 1 0 1 1

Page 13: Matlab  -compu_aplicada

r5= 0 1 0 0 0 0 0 1 0

CONCLUSIONES

Este trabajo, es un pequeño y básico manual, que sirve como guía útil necesaria para

el entendimiento de los comandos y operaciones básicas para la realización de cálculos

matemáticos simples y operaciones de matrices, en MATLAB

Asimismo, la importancia de este trabajo, radica en que además de anexar una lista de

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

y las funciones que ejercen los comandos digitados por el usuario que busca facilitar estos

procesos que requieren que se resuelvan a papel y lápiz, pero que con solo entender lo que se

necesita realizar, podemos lograr estos cálculos utilizando de manera esencial la herramienta

MATLAB.

No obstante, no se debe perder de vista que una gráfica, un cálculo, una matriz, una

simulación, etc., que se pueden realizar con el MATLAB, no sirve de nada si no se sabe

interpretar los resultados que esta arrojan.

Page 14: Matlab  -compu_aplicada

REFERENCIAS BIBLIOGRÁFICAS

- GARCÍA, J. Gabriel, Notas sobre MATLAB. Editorial Texto Universitario Ediuno

- GIL RODRÍGUEZ, Manuel, Introducción rápida a Matlab y Simulink para

ciencia e ingeniería –

Páginas web consultadas

http://www.esi2.us.es/~fsalas/asignaturas/LCA3T04_05/Intro_matlab.pdf

Introducción a Matlab y su aplicación al Análisis y Control de Sistemas Laboratorio

de Control Automático, Escuela Superior de Ingenieros Universidad de Sevilla

– Ingeniero Telecomunicacion Manuel Vargas, Manuel Berenguel (2004)

http://www.mat.ucm.es/~jair/matlab/notas.htm

Autores: Juan-Antonio Infante y José María Rey, Departamento de Matemática

Aplicada de la Universidad Complutense de Madrid.

http://mate.uprh.edu/~pnm/notas4031/matlab/apendice.htm - Introducción a MATLAB

http://mit.ocw.universia.net/18.06/f02/related-resources/matlab.pdf - Guía de uso de

MATLAB

http://www.fisica.unav.es/~angel/matlab/matlab0.html - Introducción a Matlab. Por

Ángel Garcimartín - Departamento de Física y Matemática Aplicada- Universidad de

Navarra- España