Escolar Documentos
Profissional Documentos
Cultura Documentos
LABORATORIO N° 03
MATLAB – 2017 Introducción al uso de
funciones, Funciones lógicas y estructuras de
control, principios de programación.
CODIGO DEL CURSO:
Alumno(s)
Nota
Grupo C
Ciclo I
Fecha de entrega 21-04-18
I.- OBJETIVOS:
Manejar y comprender el uso de funciones matemáticas, trigonométricas en programa Matlab.
1. Identificar la ventana workspace.
2. Solucionar problemas planteados de funciones.
3. Emplear lógica para dar solución a problemas planteados.
II.- SEGURIDAD:
Advertencia:
En este laboratorio está prohibida la manipulación del
hardware, conexiones eléctricas o de red; así como la
ingestión de alimentos o bebidas.
Al culminar la sesión de laboratorio, apagar correctamente
la computadora y el monitor
V.- RECURSOS:
● En este laboratorio cada alumno trabajará con un equipo con Windows 8.
VII.- PROCEDIMIENTO:
Nota:
En cada una de las sesiones se aprenderá a utilizar varias de las funciones de MATLAB que
habitualmente se usan para generar y manipular señales.
USO DE FUNCIONES
Las funciones son procedimientos que recogen datos de entrada, los procesan y devuelven un resultado.
La estructura de una función es la siguiente:
En donde:
Nombre_funcion, es el nombre significativo que se le asigna a la función y coincide con el nombre del
fichero de extensión .m en el que se guarda el código de dicha función. Las reglas para nombrar una
función son las mismas que para las variables, los nombres no deben de incluir espacios, ni se pueden
utilizar palabras reservadas por MATLAB.
Variables_Entrada, es el conjunto de parámetros que se le pasa a la función. Los nombres de las
variables van entre paréntesis y separadas por coma.
Variabales_Salida, es el valor o conjunto de valores de las variables devueltos por la función. Las
variables de salida van después de la palabra reservada function entre corchetes cuadrados y separados
por comas si hay varios.
Sentencias, líneas de código que tomando los valores de los parámetros de entrada calculan mediante
expresiones los valores que devuelve la función.
End, marca el final de la función es opcional (salvo en las funciones anidadas) pero es conveniente
acostumbrarse a ponerlo al finalizar la función.
1. Encienda e ingrese a la máquina virtual que tiene instalado el software Matlab 2007b, proceda a abrir el
software Matlap e ingrese en el PROMPT lo siguiente:
2. Se procederá a abrir el editor con el nombre suma, en el cual deberán de ingresar el siguiente código:
3. Proceda a guardar dicho código, deberá de guardarlo con el mismo nombre asignado a la función, en este caso
con la palabra sum, en las opciones de editor File/Save as...
4. Una vez ingresado y guardado el código procederemos a ingresar en la ventana de commant window , dentro
del PROMPT LO siguiente:
Ejemplo: Escribir una función para que calcule si un año es o no bisiesto. Si es bisiesto devuelva un 1, caso
contrario devuelva un 0.
>>bisies(2010)
Nos sale un resultado de 0 al dar el valor del año 2010, por lo que
como pudimos observar nos da el resultado
de: b =10
ans = 0
Nro. DD-106
Procesamiento de Datos – Lab. 02
Entorno de Matlab y la ventana de comandos
Página 5 de 18
FUNCIONES MATEMÁTICAS
1. Hay muchas más funciones que se pueden consultar tecleando en el PROMPT help elfun. Aparte de estar el
nombre en ingles (por ejemplo, el seno es sin (del inglés sine)), hay que tener en cuenta unos pequeños
detalles para evitar errores al usar funciones:
• Las funciones trigonométricas tienen el argumento en radianes.
• MATLAB reserva log para el logaritmo neperiano, coherentemente con el uso habitual en matemática
superior, pero en contraste con la practica en ingeniería en donde son más usados el logaritmo decimal o
el de base 2.
¿Cuál es la información que se muestra luego de teclear help elfun en la ventana de comandos?, indique
también cuales son las funciones disponibles tecleando con help specfun.
Trigonometric.
sin - Sine.
sind - Sine of argument in degrees.
sinh - Hyperbolic sine.
asin - Inverse sine.
asind - Inverse sine, result in degrees.
asinh - Inverse hyperbolic sine.
cos - Cosine.
cosd - Cosine of argument in degrees.
cosh - Hyperbolic cosine.
acos - Inverse cosine.
acosd - Inverse cosine, result in degrees.
acosh - Inverse hyperbolic cosine.
tan - Tangent.
tand - Tangent of argument in degrees.
tanh - Hyperbolic tangent.
atan - Inverse tangent.
atand - Inverse tangent, result in degrees.
atan2 - Four quadrant inverse tangent.
atan2d - Four quadrant inverse tangent, result in degrees.
atanh - Inverse hyperbolic tangent.
sec - Secant.
secd - Secant of argument in degrees.
sech - Hyperbolic secant.
asec - Inverse secant.
asecd - Inverse secant, result in degrees.
asech - Inverse hyperbolic secant.
Nro. DD-106
Procesamiento de Datos – Lab. 02
Entorno de Matlab y la ventana de comandos
Página 6 de 18
csc - Cosecant.
cscd - Cosecant of argument in degrees.
csch - Hyperbolic cosecant.
acsc - Inverse cosecant.
acscd - Inverse cosecant, result in degrees.
acsch - Inverse hyperbolic cosecant.
cot - Cotangent.
cotd - Cotangent of argument in degrees.
coth - Hyperbolic cotangent.
acot - Inverse cotangent.
acotd - Inverse cotangent, result in degrees.
acoth - Inverse hyperbolic cotangent.
hypot - Square root of sum of squares.
deg2rad - Convert angles from degrees to radians.
rad2deg - Convert angles from radians to degrees.
Exponential.
exp - Exponential.
expm1 - Compute exp(x)-1 accurately.
log - Natural logarithm.
log1p - Compute log(1+x) accurately.
log10 - Common (base 10) logarithm.
log2 - Base 2 logarithm and dissect floating point number.
pow2 - Base 2 power and scale floating point number.
realpow - Power that will error out on complex result.
reallog - Natural logarithm of real number.
realsqrt - Square root of number greater than or equal to zero.
sqrt - Square root.
nthroot - Real n-th root of real numbers.
nextpow2 - Next higher power of 2.
Complex.
abs - Absolute value.
angle - Phase angle.
complex - Construct complex data from real and imaginary parts.
conj - Complex conjugate.
imag - Complex imaginary part.
real - Complex real part.
unwrap - Unwrap phase angle.
isreal - True for real array.
cplxpair - Sort numbers into complex conjugate pairs.
Nro. DD-106
Procesamiento de Datos – Lab. 02
Entorno de Matlab y la ventana de comandos
Página 7 de 18
Coordinate transforms.
cart2sph - Transform Cartesian to spherical coordinates.
cart2pol - Transform Cartesian to polar coordinates.
pol2cart - Transform polar to Cartesian coordinates.
sph2cart - Transform spherical to Cartesian coordinates.
hsv2rgb - Convert hue-saturation-value colors to red-green-blue.
rgb2hsv - Convert red-green-blue colors to hue-saturation-value.
Ingrese en el PROMPT cada función trigonométrica dando el valor de x=1 e indique los resultados:
PRINCIPIOS DE PROGRAMACIÓN
El lenguaje de programación de Matlab se llama código M. Este lenguaje tiene las mismas estructuras básicas de
programación de cualquier otro lenguaje, es decir, bucles y condicionales, entradas y salidas, manejo de funciones
y procedimientos.
Modo De Ingreso Al Script, ingresando en file>>new>>script, conbimacion de tecla Ctrl+N en versiones de 2010
en adelante y para versiones anteriores ingresar en el PROMT
Luego aparece un mensaje que indica que el archivo no existe y pregunta si es que debemos crearlo, a lo que se
responde que sí.
Aparece el entorno de programación, en el cual deberán de ingresar el código, por ejemplo ingrese el siguiente
código y guárdelo:
Luego para ejecutar ingrese en el PROMPT el nombre del programa y luego presiones enter.
>>ejercicio1
COMANDOS BASICOS
Funciones Lógicas
Ejercicio 1:
Escribir un programa que indique si un año es bisiesto. Para esto se debe considerar lo siguiente: un año es
bisiesto si es múltiplo de 4 excepto que también sea múltiplo de 100 y lo anterior queda descartado si también es
múltiplo de 400. Así, por ejemplo el año 2000 es múltiplo de 4 por tanto en primera instancia decimos que es
bisiesto, pero como también es múltiplo de 100 decimos que no es bisiesto, pero en definitiva al ver que es
múltiplo de 400 concluimos que si es bisiesto. La tabla de verdad es la siguiente, donde a, b y c indican la
multiplicidad respecto 4,100 y 400.
Nro. DD-106
Procesamiento de Datos – Lab. 02
Entorno de Matlab y la ventana de comandos
Página 11 de 18
Este programa utiliza la función mod, que devuelve el residuo de la división de los dos argumentos, así por
ejemplo: mod(5,2) da como resultado 1.
>>ejercicio1
SWITCH_CASE: verifica la expresión, y ejecuta las acciones ubicadas en el case cuyo valor sea el mismo. Si el
resultado no concuerda con ningún case, ejecuta las acciones correspondientes a otherwise. Su sintaxis es:
Ejercicio 2
Nro. DD-106
Procesamiento de Datos – Lab. 02
Entorno de Matlab y la ventana de comandos
Página 13 de 18
WHILE-END: Realiza declaraciones del programa hasta que pruebe que sea falsa. Si la cláusula-prueba es falsa
la cláusula- bucle no se realiza ni una sola vez.
Ejercicio 3:
Realizar una función que, dados como datos el número de filas de una matriz y el índice relativo, devuelva la fila y
la columna a la que pertenece ese índice.
Nro. DD-106
Procesamiento de Datos – Lab. 02
Entorno de Matlab y la ventana de comandos
Página 14 de 18
Así en la anterior matriz si se le da como datos 2 (que es el número de filas y 10 (el índice) la función devolverá
fila=2 y columna=5.
FOR-END: Permite ejecutar de forma repetitiva un comando o grupo de comandos si no se encuentra con la
sentencia END el bucle, continua sin finalizar. LA SINTAXIS ES:
Ejercicio 4
Ejercicio 5
CONTINUE
Ejercicio 6
OBSERVACIONES:
CONCLUSIONES: