83
COMPUTACION II CAPITULO I

Computacion ii cap i

Embed Size (px)

Citation preview

Page 1: Computacion ii cap i

COMPUTACION IICAPITULO I

Page 2: Computacion ii cap i

¿QUÉ ES MATLAB?

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, incluso para la más simple de sus aplicaciones matemáticas.

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, 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.

Page 3: Computacion ii cap i

¿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. 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.

• Ingeniería eléctrica: aplicaciones de procesamiento de señales.

• Ingeniería biomédica: herramientas para imágenes

• Dinámica de fluidos: Los cálculos que describen velocidades de fluidos (rapideces y direcciones), comportamiento de los gases

Page 4: Computacion ii cap i

Resolución de Problemas en Ingeniería y Ciencias• En las disciplinas de ingeniería, ciencias y programación de

computadoras, es importante tener 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.

• Plantear el problema: Si no se tiene una comprensión clara del problema es imposible que se pueda resolver, se puede hacer un dibujo.

• Describir los valores de entrada(conocidos) y los salidas (incógnitas)

• Desarrollar un algoritmos: Identificar ecuaciones que relaciones lo valore conocidos con la incógnitas, y realizar pruebas de escritorio

• Resolver el problema: solución en Matlab• Probar la solución: los resultados tienen sentido, coinciden los

cálculos con las muestras, y es lo que se esperaba como resultado.

Page 5: Computacion ii cap i

Ambiente de Matlab

Page 6: Computacion ii cap i

• En la parte central de la pantalla se encuentra la ventana de comandos (Command Window), ésta es la ventana más importante, ya que en ella se deben teclear las instrucciones a ejecutar, apareciendo el resultado de inmediato.

• A la derecha, en la parte superior, aparece la ventana de espacio de trabajo (Workspace) que guarda la información de las variables utilizadas en la sesión de trabajo actual.

• A la derecha, en la parte inferior, se encuentra la ventana de historia de comandos (Command History) que guarda todas las sentencias que se han ejecutado en la ventana de comandos en las últimas sesiones de trabajo.

• Editor (aquí se escribirán nuestros programas).

Page 7: Computacion ii cap i

• Para comenzar a trabajar con Octave, se tecleará la orden que se desee ejecutar en la ventana de comandos, después del símbolo del sistema >>, pulsando al final la tecla ENTER. Entonces el programa ejecutará la orden guardando el resultado en la memoria RAM del ordenador. Véase a continuación un ejemplo en el que se pide a Octave que ejecute una suma sencilla:

• >> 2+3 • ans = • 5

• El resultado se guarda en la variable reservada ans, que inmediatamente aparecerá en la ventana workspace. Ésta se crea automáticamente cuando una expresión de la ventana de comandos no se asigna a ninguna otra variable. Guarda la información de la última respuesta que cumpla la condición anterior.

Empezando a trabajar

Page 8: Computacion ii cap i

Los operadores aritméticos aplicables son los siguientes:

• Suma: + • Resta: - • Producto: * • División derecha: / • División izquierda: \ • Potenciación: ^

Operaciones aritméticas

Page 9: Computacion ii cap i
Page 10: Computacion ii cap i

• >> 2.4*6 • 14.4000 • >> 2^3 • 8 • >> -1^4 • -1 • >> (-1)^4 • 1 • >> 3/4 • 0.7500 • >> 3\4 • 1.3333 • >> 2/3^2 • 0.2222 (la potencia tiene mayor prioridad) • >> 2/3*2 • 1.3333

Ejemplos

Page 11: Computacion ii cap i

• Para eliminar todo el texto escrito en la ventana de comandos se utiliza el comando clc. La ejecución de esta orden no afecta a las variables de la sesión de trabajo (la ventana Workspace sigue manteniendo las variables)

• Para vaciar el Workspace es decir el contenido de las variables utilizamos el comando clear.

Limpieza de texto de la ventana de comandos

Page 12: Computacion ii cap i

EJERCICIO ORDEN DE LAS OPERACIONES

• Encontrar el área de un cilindro circular recto

Page 13: Computacion ii cap i

Si la altura del cilindro es 10 cm y el radio es de 5 cm; podemos determinar el área:

Lo que es incorrecto:

Page 14: Computacion ii cap i

Determinar:

Page 15: Computacion ii cap i

PRACTICA

Page 16: Computacion ii cap i
Page 17: Computacion ii cap i

TAREA N° 1

Page 18: Computacion ii cap i

Para la resolver del problema use la siguiente metodología:

• Establezca el problema• Describa las entradas y salidas• Desarrollo un ejemplo a mano• Desarrolle una solución en

Matlab• Ponga a prueba la solución.

Page 19: Computacion ii cap i

Definición de vectores desde teclado

• Para definir un vector no hace falta establecer de antemano su tamaño (de hecho, éste cambia de forma dinámica cuando es preciso). Simplemente, se disponen los valores de los elementos que van a componer el vector entre corchetes, separados por espacios o una coma, en el caso de vectores fila, o por el carácter punto y coma (;) , en el caso de vectores columna.

Al teclear • >>b=[1 2 3 4 5] • o bien • >>b=[1,2,3,4,5] • se genera el vector fila b: 1 2 3 4 5,

que aparecerá como tal en la ventana Workspace.

INTRODUCCIÓN A VECTORES Y MATRICES

Page 20: Computacion ii cap i

• Mientras que: • >>c=[1;2;3]

genera el vector columna c: 6 2 9

Para acceder a las componentes de un vector se utilizan unos enteros llamados índices. Los índices correspondientes a los elementos de un vector comienzan en uno.

>>c(3)ans=9

Page 21: Computacion ii cap i

Operador (:)

Se van a analizar a continuación otras formas de generación de vectores que no necesitan de la escritura explícita de todos sus elementos:

variable=[vin:vfin] Define el vector cuyos primer y último elemento son los especificados por vin y vfin, estando los componentes intermedios separados por una unidad. Está permitido no utilizar los corchetes o sustituirlos por paréntesis.

>>v=1:10 v= 1 2 3 4 5 6 7 8 9 10

Generación rápida de vectores.

Page 22: Computacion ii cap i

variable=[vin:incr:vfin] Define el vector cuyos primer y último elemento son los especificados por vin y vfin, estando los componentes intermedios separados por incr. Está permitido no utilizar los corchetes o sustituirlos por paréntesis.

>>v=1:2:10 v= 1 3 5 7 9

Page 23: Computacion ii cap i

Función linspace

variable=linspace (x1,x2,n) Genera un vector con n valores igualmente espaciados entre x1 y x2.

>> v=linspace(1,10,7) v = 1.0000 2.5000 4.0000 5.5000 7.0000 8.5000 10.0000

Page 24: Computacion ii cap i

EJERCICIO

Page 25: Computacion ii cap i

PRACTICA N°2

Page 26: Computacion ii cap i

TAREA N°2

Page 27: Computacion ii cap i

Despliegue de números• Notación científica: La Notación científica expresa

un valor como un numero entre 1 y 10 multiplicado por una potencia de 10. En Matlab se designan con una e entre el numero decimal y el exponente.

>> a=6.022e23

No debe existir espacios en blanco entre el numero decimal y el exponente.

>>6.022 e23 (son dos valores 6.022 y 103)

Page 28: Computacion ii cap i

• Formato de despliegue: Matlab usa en sus cálculos números punto flotante , de cuantos dígitos se usen depende de su cálculo. Los enteros se imprimen sin punto decimal, los valores con fracciones decimales se imprimen en el formato corto por defecto muestra 4 dígitos decimales.

Page 29: Computacion ii cap i

• MATLAB permite especificar otros formatos que muestren dígitos significativos adicionales.

format long: Despliega en un formato decimal de 14 dígitos decimales.

format bank (formato banco): se despliega dos dígitos decimales.format short: Regresa el formato a 4 dígitos decimales.format short e: despliega los números en notación científica con cuatro dígitos decimales.format long e: despliega los números en notación científica con 14 dígitos decimales.

Page 30: Computacion ii cap i

• format +: los únicos caracteres que se imprimen son los signos mas y menos.

• format rat: despliega números como números racionales (fracciones)

Page 31: Computacion ii cap i

• Ejemplo:

Page 32: Computacion ii cap i

COMO GUARDAR EL TRABAJO

• Como guardar variables

Para guardar el contenido de la ventana del área de trabajo se utiliza por defecto un archivo binario llamado archivo MAT (solo se guardan las variables no la lista de comandos).

save <file name>Para restaurar el area de trabajo escrinimos:

load <file name>• También se puede almacenar matrices individuales

o listas de matrices en el directorio actualsave<filename><variable_list>

Page 33: Computacion ii cap i

Archivos m-script• MATLAB contiene un poderoso lenguaje de

programación, en el que se puede crear y guardar código en archivos llamados archivos-m.

• Home NewScript

Para guardar un archivo-m este se almacena en le directorio actual, será necesario nombrar el archivo con un nombre válido:• Un nombre que empiece con una letra• Solo puede contener números, letras y el guion

bajo• No se permite espacios en blanco

Page 34: Computacion ii cap i

• Para ejecutar un script creado en la ventana de edición puede hacerse desde del icono Run o escribiendo el nombre del archivo en la ventana de comandos o con el comando run

• Usar archivos m script le permite trabajar en un proyecto y guardar la lista de comandos para uso futuro. Es buena idea insertar comentarios para describir ciertas instrucciones para ellos usamos el signo de porcentaje %. MATLAB no ejecuta código alguna en una línea comentada.

Page 35: Computacion ii cap i

PRACTICA N°3

Page 36: Computacion ii cap i
Page 37: Computacion ii cap i
Page 38: Computacion ii cap i

FUNCIONES INTERNAS DE MATLAB

La gran mayoría de los cálculos de ingeniería requieren funciones matemáticas muy complicadas, incluidos logaritmos, funciones trigonométricas y funciones de análisis estadístico. MATLAB tiene una extensa librería de funciones internas que le permiten realizar dichos cálculos.

Uso Funciones Internas

• Se puede considerar que todas las funciones por lo general tienen tres componentes: nombre, entrada (argumento) y salida.

• Los argumentos de la función pueden ser escalares o matrices.

Page 39: Computacion ii cap i

Nombre de la función: sqrtArgumento o entrada : puede ser un escalar o una matrizSalida: es un valor o valores calculados

>>x=9>>b=sqrt(x)b=3

>>x=[4,9,16]>>b=sqrt(x)b=[2,3,4]

Page 40: Computacion ii cap i

• Algunas funciones requieren varias entradas como la función residuo rem , que requiere el dividendo o divisor

rem(x,y)>>rem(10,3)>>ans=1

• La función size es una función que regresa dos salidas. Determina el numero de filas y el numero de columnas

>>d=[1 2 3; 4 5 6; 7 8 9]>>f=size(d)>>f=

2 3

También se puede asignar nombres de variables a casa una de las respuestas al representar al lado izquierdo del enunciado de asignación como una matriz>>[x,y]=size(d)x=2y=3

Page 41: Computacion ii cap i

Funciones Matemáticas comunes

Cálculos comunes

Page 42: Computacion ii cap i

• Funciones de redondeo

Page 43: Computacion ii cap i

Matemáticas discretasMATLAB incluye funciones para factorizar números, encontrar denominadores y múltiplos comunes, calcular factoriales y explorar números primos. Todas estas funciones requieren escalares enteros como entrada. Las matemáticas discretas son las matemáticas de números enteros

Page 44: Computacion ii cap i

FUNCIONES TRIGONOMÉTRICAS

Page 45: Computacion ii cap i

FUNCIONES DE ANÁLISIS DE DATOS

Page 46: Computacion ii cap i
Page 47: Computacion ii cap i

Media y mediana

Page 48: Computacion ii cap i

Sumas y productos

Page 49: Computacion ii cap i

NÚMEROS ALEATORIOS

Page 50: Computacion ii cap i

CONSULTA: Caracteres y funciones especiales

Page 51: Computacion ii cap i

Definición de matrices desde teclado

Al igual que en vectores, para definir una matriz no hace falta establecer de antemano su tamaño. MATLAB determinan el número de filas y de columnas en función del número de elementos que se introducen. Las matrices se definen por filas, estando los elementos de una misma fila separados por blancos o comas, mientras que las filas están separadas por caracteres punto y coma (;).

• Por ejemplo, el siguiente comando define una matriz A de dimensión (3x3):

>> A=[1 2 3; 4 5 6; 7 8 9] La respuesta del programa es: A= 1 2 3 4 5 6 7 8 9

Manipulación de matrices MATLAB

Page 52: Computacion ii cap i

• Al igual que en el caso de vectores, se puede generar los elementos de las filas sin tener que escribirlos uno a uno. Ejemplo:

>> A=[1:5;5:-1:1;linspace(0,11,5)] A = 1.0000 2.0000 3.0000 4.0000 5.0000 5.0000 4.0000 3.0000 2.0000 1.0000 0 2.7500 5.5000 8.2500 11.0000

Page 53: Computacion ii cap i

• MATLAB también le permite definir una matriz en términos de otra matriz que ya se haya definido. Por ejemplo, los enunciados

Page 54: Computacion ii cap i

• Se pueden cambiar los valores en una matriz, o incluir valores adicionales, con un número índice para especificar un elemento particular. Este proceso se llama indexación en un arreglo.

Page 55: Computacion ii cap i

Uso del operador dos puntos• El operador dos puntos es un operador muy

poderoso para definir nuevas matrices y modificar las existentes.

• El operador dos puntos también se puede usar para extraer datos de las matrices, una característica que es muy útil en análisis de datos.

• “todas las filas en la columna 1”.

Page 56: Computacion ii cap i

“todas las filas en la columna 4”.

“fila 1, todas las columnas”.

“filas 2 a 3, todas las columnas”.

“filas 2 a 3 en las columnas 4 a 5”.

transforma la matriz en una larga columna.

Page 57: Computacion ii cap i

Para encontrar el valor en la fila 2, columna 3

El valor en la fila 2, columna 3 de la matriz M es el elemento número 8.

“end” para identificar la fila o columna final en una matriz

Page 58: Computacion ii cap i

MATRICES ESPECIALES• Matriz de ceros: A veces es útil crear una matriz

de ceros. Cuando se usa la función zeros con un solo argumento escalar de entrada, se genera una matriz cuadrada:

Page 59: Computacion ii cap i
Page 60: Computacion ii cap i
Page 61: Computacion ii cap i

Matrices mágicas• MATLAB incluye una función matricial llamada

magic que genera una matriz con propiedades inusuales. Parece no haber algún uso práctico para las matrices mágicas, excepto que son divertidas. En una matriz mágica, la suma de todas las columnas es la misma, al igual que la suma de todas las filas.

Page 62: Computacion ii cap i

PRACTICA N°4

Page 63: Computacion ii cap i

PRACTICA N°5

Page 64: Computacion ii cap i

GRAFICACIÓN

La graficación se la utiliza para hacer que la información se entienda mas fácilmente, se las utiliza para una rápida verificación y determinar si una solución de computadora produce los resultados esperados.

• Gráficas BidimensionalesUn conjunto de pares ordenados se usa para identificar puntos sobre una grafica bidimensional luego los puntos se conectan con líneas rectas. A la variable independiente se le da el nombre de x y se grafica en el eje de las x y la variable dependiente se recibe el nombre de y se la grafica en el eje y.

Page 65: Computacion ii cap i

Gráfica básica

• Definir los vectores de valores x y valores de y.Ejemplo:Se puede almacenar los valores de tiempo en un vector llamado x (o cualquier nombre) y los valores de distancia en un vector llamado y:

Para graficar estos puntos utilizamos el comando plot con argumentos x,y >>plot (x,y)

Page 66: Computacion ii cap i

Títulos, etiquetas y retículasPara el titulo utilizamos el comando:

>>title(‘Mensaje deTitulo de la Ventana’)

Para etiquetar los ejes x y y usamos el comando:

>>xlabel (‘Tiempo, seg’)>>ylabel (‘Distancia,pies’)

Para añadir una reticula (grilla o cuadricula) a la grafica:>>grid on

Page 67: Computacion ii cap i

Creación de gráficas múltiples• El comando figure le permite abrir una nueva

ventana de figura. Cada vez que se solicite una grafica se desplegara una nueva ventana.

• El comando hold congela la grafica de modo que se puede recubrir una grafica adicional.

Page 68: Computacion ii cap i

• Otra forma de crear una gráfica con múltiples líneas es solicitar ambas líneas en un solo plot.

Si plot se llama con dos argumentos, uno un vector y el otro una matriz.

Page 69: Computacion ii cap i

Línea, color y estilo de marca

Page 70: Computacion ii cap i
Page 71: Computacion ii cap i
Page 72: Computacion ii cap i

Escalamiento de ejes y anotaciones graficas

Page 73: Computacion ii cap i
Page 74: Computacion ii cap i

PRACTICA N°6

Page 75: Computacion ii cap i

SUBGRAFICAS

• El comando subplot le permite subdividir la ventana de graficación en una retícula de m filas y n columnas.

subplot(m,n,p)

p identifica la porción de la ventana donde se dibujara la siguiente grafica.

>>subplot(2,2,1)

Page 76: Computacion ii cap i

Ejemplo:

Page 77: Computacion ii cap i

PRACTICA

Page 78: Computacion ii cap i

OTROS TIPOS DE GRAFICAS BIDIMENSIONALES

Graficas Polares: Permite graficas en coordenadas polares.

polar(theta,r)theta ángulo en radianesr distancia radial

Ejemplo:

Page 79: Computacion ii cap i

PRACTICA

Page 80: Computacion ii cap i
Page 81: Computacion ii cap i

CONSULTA 2• GRAFICAS DE BARRAS Y DE PASTEL

Page 82: Computacion ii cap i

Graficas de FunciónLa función fplot le permite graficar una función sin definir arreglos de valores x y y correspondientes.

Crea una gráfica (figura 5.26) de x contra sen(x) para valores x desde -2*pi hasta 2*pi. MATLAB calcula automáticamente el espaciamiento de los valores x para crear una curva suave.

Note que el primer argumento en la función fplot es una cadena que contiene la función y el segundo argumento es un arreglo

Page 83: Computacion ii cap i

PRACTICA