Capitulo 1_MatLab

download Capitulo 1_MatLab

of 15

description

MATLAB

Transcript of Capitulo 1_MatLab

  • Programacion en Matlab

    Ing. Marcelino Torres Villanueva 1

    MatLab Matlab es la abreviatura de Matrix Laboratory (laboratorio de matrices). Creado en 1984 por The MathWorks, es un software de clculo muy usado en universidades, centros de investigacin y por ingenieros. En los ltimos aos ha incluido muchas ms capacidades, como la de programar directamente procesadores digitales de seal, crear cdigo, etc.

    Figura 1: El escritorio de Matlab

    Matlab es un sistema interactivo, cuando se arranca en un ordenador aparece en la pantalla la Figura 1 a cuya derecha se encuentra la ventana de comandos. Cuando se escribe despus del prompt >> el nombre del comando y se presiona la tecla 'enter', el sistema ejecuta la instruccin y si no le ha asignado un nombre concreto lo guardar en una nueva variable llamada ans. Las variables se almacenan en el workspace que se puede ver a la izquierda de la Figura1. Matlab tiene tres caractersticas muy importantes que lo diferencian de otros lenguajes: 1. Las variables no necesitan ser previamente declaradas. 2. Contiene una gran coleccin de funciones matemticas con un nmero de argumentos no necesariamente el mismo.

    Ventana de Comandos

    Ventana del Espacio de Trabajo y Ventana del Directorio Actual de Trabajo

    Ventana de historial de Comandos utilizados

    Prompt

  • Programacion en Matlab

    Ing. Marcelino Torres Villanueva 2

    3. El tipo de dato fundamental son vectores y matrices de nmeros complejos almacenados en aritmtica flotante de doble precisin. Algunos comentarios generales que siempre se debern tener en cuenta: 1. Los caracteres maysculos y minsculos no son equivalentes. 2. Un punto y coma al final de un comando suprime la salida por pantalla. 3. Los ( ) y [ ] no son intercambiables. 1.- Tipos de Datos en MatLab MATLAB es un entorno pensando para trabajar con vectores y matrices. Por ello, tanto el propio programa como la sintaxis de los comandos que se introducen estn optimizados para este tipo de objetos. MATLAB tambin permite representar tipos de datos escalares, como nmeros enteros, nmeros reales (en formato de coma flotante de doble precisin), variables booleanas y nmeros complejos. Ejemplo:

    Figura 2: Escalar y nmero complejo 2.- Variables en MatLab Los nombres de variables en MatLab deben comenzar por una letra. El resto de los caracteres pueden ser letras, dgitos o subrayados. nicamente son importantes los 63 primeros caracteres para la versin 7. Matlab distingue entre maysculas y minsculas. Ejemplo:

    Escalares

    Nmeros complejos

    Area es diferente area y AREA.

  • Programacion en Matlab

    Ing. Marcelino Torres Villanueva 3

    2.1.1 Variables predefinidas

    Nombre Significado

    Pi Inf Infinito

    NaN Not a Number

    i,j Imaginario

    3.- Formatos de salida La funcin format cambia la precisin de los datos de salida. Matlab, presenta valores de acuerdo a un formato, el que por defecto es format short; existen otros (ver la siguiente tabla y figura 3)

    Comandos Valor de pi

    long 3.14159265358979

    short e 3.1416e+000

    long e 3.14159265358979e+000

    hex 400921fb54442d18

    bank 3.14

    + +

    rat 355/113

    short 3.1416

    Figura 3: Formatos de salida 4.- Comandos para mostrar datos 4.1 Comando disp Este comando se utiliza para visualizar un texto o contenido de una variable sin mostrar su nombre. El formato de este comando es: disp (nombre de variable) o disp (Mensaje)

  • Programacion en Matlab

    Ing. Marcelino Torres Villanueva 4

    Cada vez que se ejecuta el comando disp, la salida aparece en una nueva lnea. Por ejemplo:

    Figura 4: Comando disp 4.2 Comando fprintf El comando fprintf se utiliza para visualizar salidas de programas (texto y datos) en la pantalla, o bien para almacenarlas en un fichero. Con este comando, y a diferencia de disp. La salida puede tener un formato preestablecido. En este caso se pueden combinar texto y resultados numricos provenientes de clculos o variables predefinidas en la misma lnea. Adems, el formato de los nmeros se puede controlar directamente con este comando. Gracias a su expresividad, el comando fprintf es til en la visualizacin de salidas, pero esta misma razn hace que este comando sea un tanto complejo y con una sintaxis larga en algunos casos. Para evitar cualquier confusin, vamos a presentar este comando gradualmente. Primero veremos como utilizar fprintf para visualizar mensajes de texto para despus ver cmo podemos combinar nmeros y cadenas en la salida. 4.2.1 Uso del comando fprintf para visualizar mensajes de texto: Para la visualizacin de texto, el comando fprintf se utiliza de la forma: fprintf (Mensaje en forma de cadena) Por ejemplo:

    Figura 5: Comando fprintf

    Utilizacin del comando disp para Visualizar un mensaje en pantalla.

    Se asigna un valor de 15 a la variable x

    Se utiliza el comando disp para visualizar el contenido de la variable x

    Visualizacin de la variable nombre

    Carcter \n, hace que pasa a la lnea siguiente el mensaje que esta delante de l carcter

  • Programacion en Matlab

    Ing. Marcelino Torres Villanueva 5

    Con el comando fprintf es posible empezar una nueva lnea e indicarlo en la mitad de la cadena que se introduce como parmetro. Esto se hace insertando \n antes del carcter que va empezar en la lnea siguiente, Como en el ejemplo anterior (figura 5). Al carcter \n se le denomina carcter de escape. Es uno de los caracteres utilizados para controlar la salida. Adems, existen estos otros caracteres de escape que pueden ser insertados dentro de una cadena: \b Carcter de borrado \t Tabulacin horizontal. 4.2.2 Utilizacin del comando fprintf para visualizar datos y textos

    juntos: Para visualizar texto y datos (valores de variables) juntos, el comando fprintf debe utilizarse siguiendo la sintaxis: fprintf (Texto %-5.4f texto adicional, nombre_variable) Ejemplo:

    Figura 6: Comando fprintf El smbolo % marca del lugar donde se insertar el nmero dentro del texto. -5.4f Elementos de formato

    - Flag o bandera (opcional) 5.4 Ancho de campo y precisin (opcional) f Carcter de conversin (obligatorio)

    nombre_variable, Nombre de variable cuyo valor ser visualizado (R) El flag o bandera, cuyo carcter es opcional, puede ser uno de los siguientes:

    Carcter utilizado Para la bandera

    Descripcin

    - (signo menos) + (signo ms) 0 (cero)

    Justificacin izquierda del nmero dentro del campo Visualiza el carcter de signo (+ o - ) delante del nmero Aade ceros si el nmero es ms pequeo que el campo

    La especificacin del ancho y precisin del campo (5.4 en el ejemplo

    anterior) es opcional. El primer nmero (5 en nuestro ejemplo) es el ancho de campo, el cual nos indica el menor nmero de dgitos en la visualizacin. Si el

  • Programacion en Matlab

    Ing. Marcelino Torres Villanueva 6

    nmero que se visualiza es menor que el ancho de campo, se aadirn ceros o espacios delante del nmero en cuestin. La precisin se corresponde con el segundo nmero (figura 6), y especifica el nmero de dgitos que se mostrarn a la derecha del punto decimal. El ltimo elemento es el correspondiente al formato de conversin (f en el ejemplo anterior). Este es obligatorio. A continuacin se muestran los caracteres de conversin ms utilizados:

    Figura 7: Caracteres de conversin Se puede obtener informacin adicional sobre estos y otros formatos utilizando la ayuda de MATLAB, en el men Help (Ayuda). A continuacin se muestra un 5.- Comandos para ingresar datos 5.1. Comando para ingresar datos por teclado: input nombre_variable=input(Mensaje que se muestra en la Ventana de Comandos) Ejemplo:

    Figura 8: Comando input

    e Notacin exponencial en minsculas

    E Notacin exponencial en maysculas

    f Notacin de punto fijo

    g Representacin en formato corto de Las notaciones e o f

    G Representacin en formato corto de Las notaciones e o f

    i Entero

  • Programacion en Matlab

    Ing. Marcelino Torres Villanueva 7

    6.- Operadores aritmticos bsicos son:

    Smbolo Operacin

    + Suma

    - Resta

    * Multiplicacin

    / Divisin

    \ Divisin en sentido contrario ( 2\1) = 0.5

    ^ Potencia

    Transpuesta ( ) Parntesis

    7.- Funciones matemticas elementales que operan de modo escalar Estas funciones, que comprenden las funciones matemticas trascendentales y otras funciones bsicas, actan sobre cada elemento de la matriz como si se tratase de un escalar. Se aplican de la misma forma a escalares, vectores y matrices. Algunas de las funciones de este grupo son las siguientes:

    Funcin Comentario

    sin(x) Seno

    cos(x) Coseno

    tan(x) Tangente

    asin(x) arco seno

    acos(x) arco coseno

    atan(x) arco tangente (devuelve un ngulo entre pi/2 y +pi/2) atan2(y, x) Devuelve un ngulo entre pi y pi; se le pasan 2 argumentos,

    proporcionales al seno y al coseno

    sinh(x) seno hiperblico

    cosh(x) coseno hiperblico

    tanh(x) tangente hiperblica

    asinh(x) arco seno hiperblico

    acosh(x) arco coseno hiperblico

    atanh(x) arco tangente hiperblica

    log(x) logaritmo natural

    log10(x) logaritmo decimal

    exp(x) funcin exponencial

    sqrt(x) raz cuadrada

    sign(x) Devuelve -1 si 0. Aplicada a un numero complejo devuelve un vector unitario en la misma direccin

    rem(x, y) resto de la divisin de x entre y

    round(x) redondea hacia el entero mas prximo

    fix(x) redondea hacia el entero ms prximo a 0

    floor(x) valor entero ms prximo hacia menos infinito

    ceil(x) valor entero ms prximo hacia ms infinito

    gcd(x, y) mximo comn divisor

    lcm(x, y) mnimo comn mltiplo

    real(x) parte real

  • Programacion en Matlab

    Ing. Marcelino Torres Villanueva 8

    imag(x) parte imaginaria

    abs(x) valor absoluto

    angle(x) ngulos de fase

    8. Elaboracin de un Programa (Fichero Script) en Matlab

    1) Como se muestra en la Figura, en El men File escoger New y luego M-File

    Figura 9: Creacin de un archivo con extensin m Al presionar en M-File se muestra la siguiente Venta de Edicin

    Figura 10: Ventana de edicin

    En la cual podremos escribir el Programa que deseemos, en otras palabras un conjunto de instrucciones de matlab para poder resolver un problema determinado

  • Programacion en Matlab

    Ing. Marcelino Torres Villanueva 9

    8.1 Comentarios en Matlab Los comentarios deben ir precedidos por % o, lo que es lo mismo, MATLAB ignora todo lo que vaya precedido por el smbolo %. Ejemplo Ingresar la base y la altura de un Rectngulo y reportar el area, el permetro y la diagonal.

    Figura 11: Programa rectngulo

    Una vez escrito el programa se graba con el nombre de rectngulo generando un archivo que puede ser llamada desde la ventana de comandos. Se debe escribir rectngulo y presionar enter

    Figura 12: Ejecucin del programa rectngulo

    El programa se ejecuta y pide el valor de la base del rectngulo se ingresa un numero por ejemplo 3 y se presiona enter, luego pide el valor de la altura se ingresa otro numero por ejemplo 4 y se presiona enter, luego el programa

  • Programacion en Matlab

    Ing. Marcelino Torres Villanueva 10

    reporta el valor del rea, el permetro y la diagonal como se muestra en la figura 12. 9.- Estructuras secuenciales Son estructuras de programas que cuando se ejecutan, lo hacen instruccin por instruccin, en orden de manera secuencial 9.1.- Ejemplos de Estructuras Secuenciales Ejemplo 1

    Figura 13: Programa para calcular el rea y la longitud de la circunferencia Ejecucin en la Ventana de Comandos

    Figura 14: Ejecucin del programa circulo

  • Programacion en Matlab

    Ing. Marcelino Torres Villanueva 11

    Ejemplo 2

    Figura 15: Programa de conversin de radianes a grados sexagesimales Ejecucin en la Ventana de Comandos

    Figura 16: Ejecucin del programa de conversin Ejemplo 3

    Figura 17: Programa para calcular el promedio de tres nmeros enteros

    Ejecucin en la Ventana de Comandos

  • Programacion en Matlab

    Ing. Marcelino Torres Villanueva 12

    Figura 18: Ejecucin del programa para calcular promedio Ejemplo 4

    Figura 19: Programa de cuadrado Ejecucin en la Ventana de Comandos

    Figura 20: Ejecucin del programa de un cuadrado Ejemplo 5

    Figura 21: Programa de periodo de tiempo

  • Programacion en Matlab

    Ing. Marcelino Torres Villanueva 13

    Ejemplo 6

    Figura 22: Ejecucin del programa de periodo de tiempo Ejemplo 6

    Figura 23: Programa para calcular el inters generado por un capital

    Figura 24: Ejecucin del programa de inters Ejemplo 7

    Figura 25: Enunciado del problema de un triangulo

  • Programacion en Matlab

    Ing. Marcelino Torres Villanueva 14

    Figura 26: Programa para calcular ngulos de un triangulo

    Figura 27: Ejecucin del programa

    Practica N 1 1. Hacer un programa para calcular el rea de un tringulo dada la base y la

    altura. 2. Escriba un programa que lea un nmero y escriba su cuadrado. 3. Determinar el volumen de un cilindro cuyas dimensiones radio y altura se

    leen desde el teclado. 4. Determinar la hipotenusa de un tringulo rectngulo si se ingresan las

    longitudes de los catetos. 5. Hacer un programa para que se ingresen 2 nmeros y reporte su suma,

    resta y multiplicacin. 6. Calcular el permetro, el rea y la diagonal de un rectngulo si se ingresan

    los lados. 7. Hacer un programa que se ingrese una temperatura en grados centgrados (

    C) y la reporte en grados Fahrenheit ( F) F = 9/5 C + 32 8. Hacer un programa para convertir metros a pies y pulgadas. metro = 39.37

    pulgadas

  • Programacion en Matlab

    Ing. Marcelino Torres Villanueva 15

    1 metro = 3.2 pies 9. Hacer un programa que intercambie el valor de 2 variables numricas.

    10. Hacer un programa para hallar la ganancia de la venta de un producto. Se

    debe ingresar el precio de costo, precio de venta. Se debe reportar la ganancia.

    11. Hacer un programa para que se ingrese una cantidad en kilos y reporte su

    equivalencia en libras. 1 kilo = 2.2 libras 12. Calcular el salario neto de un trabajador. Se debe leer el nombre, horas

    trabajadas, precio de la hora y sabiendo que los impuestos aplicados son el 10 por ciento sobre el salario bruto.

    13. Calcular la altura que cae un objeto. Se debe ingresar el tiempo recorrido en

    segundos. 14. Calcular la presin de un gas en un recipiente. Se debe ingresar la

    temperatura ( C), el nmero de moles n y el volumen (lts). 15. Calcular el espacio recorrido por un mvil. Ingresar Velocidad inicial

    (m/seg.), tiempo (seg.) y aceleracin (m/seg2).