Capitulo 1_MatLab
-
Upload
luis-cajusol-yupanqui -
Category
Documents
-
view
8 -
download
1
description
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).