Matlab para ingenieros

83
COMPUTACION II CAPITULO I

description

material para el uso de Matlab 2010principales comandos que se utilizan para poder manejar ecuaciones y matrices. breve explicacion de los comandos para elaborar algoritmos

Transcript of Matlab para ingenieros

COMPUTACION IICAPITULO 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.

¿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

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.

Ambiente de Matlab

• 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).

• 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

Los operadores aritméticos aplicables son los siguientes:

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

Operaciones aritméticas

• >> 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

• 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

EJERCICIO ORDEN DE LAS OPERACIONES

• Encontrar el área de un cilindro circular recto

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

Lo que es incorrecto:

Determinar:

PRACTICA

TAREA N° 1

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.

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

• 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

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.

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

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

EJERCICIO

PRACTICA N°2

TAREA N°2

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)

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

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

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

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

• Ejemplo:

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>

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

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

PRACTICA N°3

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.

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]

• 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

Funciones Matemáticas comunes

Cálculos comunes

• Funciones de redondeo

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

FUNCIONES TRIGONOMÉTRICAS

FUNCIONES DE ANÁLISIS DE DATOS

Media y mediana

Sumas y productos

NÚMEROS ALEATORIOS

CONSULTA: Caracteres y funciones especiales

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

• 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

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

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

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

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

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

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:

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.

PRACTICA N°4

PRACTICA N°5

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.

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)

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

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.

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

Línea, color y estilo de marca

Escalamiento de ejes y anotaciones graficas

PRACTICA N°6

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)

Ejemplo:

PRACTICA

OTROS TIPOS DE GRAFICAS BIDIMENSIONALES

Graficas Polares: Permite graficas en coordenadas polares.

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

Ejemplo:

PRACTICA

CONSULTA 2• GRAFICAS DE BARRAS Y DE PASTEL

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

PRACTICA