Вы находитесь на странице: 1из 15

Programacion en Matlab

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.

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

Ventana de historial de
Comandos utilizados

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.

Ing. Marcelino Torres Villanueva

Programacion en Matlab
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:

Escalares

Nmeros complejos

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:
Area es diferente area y AREA.

Ing. Marcelino Torres Villanueva

Programacion en Matlab
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
long
short e
long e
hex
bank
+
rat
short

Valor de pi
3.14159265358979
3.1416e+000
3.14159265358979e+000
400921fb54442d18
3.14
+
355/113
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)

Ing. Marcelino Torres Villanueva

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

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

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:

Carcter \n, hace que pasa a la lnea siguiente el


mensaje que esta delante de l carcter

Figura 5: Comando fprintf

Ing. Marcelino Torres Villanueva

Programacion en Matlab
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
\t

Carcter de borrado
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
Descripcin
Para la bandera
- (signo menos)
Justificacin izquierda del nmero dentro del campo
+ (signo ms)
Visualiza el carcter de signo (+ o - ) delante del nmero
0 (cero)
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

Ing. Marcelino Torres Villanueva

Programacion en Matlab
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:

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

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

Ing. Marcelino Torres Villanueva

Programacion en Matlab
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
sin(x)
cos(x)
tan(x)
asin(x)
acos(x)
atan(x)
atan2(y, x)
sinh(x)
cosh(x)
tanh(x)
asinh(x)
acosh(x)
atanh(x)
log(x)
log10(x)
exp(x)
sqrt(x)
sign(x)
rem(x, y)
round(x)
fix(x)
floor(x)
ceil(x)
gcd(x, y)
lcm(x, y)
real(x)

Comentario
Seno
Coseno
Tangente
arco seno
arco coseno
arco tangente (devuelve un ngulo entre pi/2 y +pi/2)
Devuelve un ngulo entre pi y pi; se le pasan 2 argumentos,
proporcionales al seno y al coseno
seno hiperblico
coseno hiperblico
tangente hiperblica
arco seno hiperblico
arco coseno hiperblico
arco tangente hiperblica
logaritmo natural
logaritmo decimal
funcin exponencial
raz cuadrada
Devuelve -1 si <0, 0 si=0, y 1 si>0. Aplicada a un numero
complejo devuelve un vector unitario en la misma direccin
resto de la divisin de x entre y
redondea hacia el entero mas prximo
redondea hacia el entero ms prximo a 0
valor entero ms prximo hacia menos infinito
valor entero ms prximo hacia ms infinito
mximo comn divisor
mnimo comn mltiplo
parte real

Ing. Marcelino Torres Villanueva

Programacion en Matlab
imag(x)
abs(x)
angle(x)

parte imaginaria
valor absoluto
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

Ing. Marcelino Torres Villanueva

Programacion en Matlab
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
Ing. Marcelino Torres Villanueva

Programacion en Matlab
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

Ing. Marcelino Torres Villanueva

10

Programacion en Matlab
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

Ing. Marcelino Torres Villanueva

11

Programacion en Matlab

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

Ing. Marcelino Torres Villanueva

12

Programacion en Matlab

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

Ing. Marcelino Torres Villanueva

13

Programacion en Matlab

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

Ing. Marcelino Torres Villanueva

14

Programacion en Matlab
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).

Ing. Marcelino Torres Villanueva

15