Você está na página 1de 18

PROCESAMIENTO DE DATOS

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)

PINEDA HUANCO, DEUSDADO


Muy Muy
Bueno Regular
Rúbrica: bueno Malo(2) Malo
(4) (3)
(5) (1)
Trabaja con el entorno de Matlab
para ingresar datos y generar
gráficos en dos dimensiones.
Resuelve ecuaciones con Matlab.
Realiza gráficos de funciones con
Matlab.
Observaciones y conclusiones.

Nota
Grupo C
Ciclo I
Fecha de entrega 21-04-18

PROGRAMA DE FORMACIÓN REGULAR


Nro. DD-106
Procesamiento de Datos – Lab. 02
Entorno de Matlab y la ventana de comandos
Página 2 de 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

III.- FUNDAMENTO TEÓRICO:


El docente dará una breve explicación para reforzar lo aprendido en las exposiciones.

IV.- NORMAS EMPLEADAS:


No aplica

V.- RECURSOS:
● En este laboratorio cada alumno trabajará con un equipo con Windows 8.

VI.- METODOLOGÍA PARA EL DESARROLLO DE LA TAREA:


● El desarrollo del laboratorio es individual.

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:

function [ argumentos_de_salida ] = Nombre_Funcion( argumentos_entrada )


declaraciones o sentencias
end
Nro. DD-106
Procesamiento de Datos – Lab. 02
Entorno de Matlab y la ventana de comandos
Página 3 de 18

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.

DEFINICION DE UNA FUNCION

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:

>> Edit suma

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:

Mencione el funcionamiento al realizar el llamado a la función y haga nuevamente el llamado de la función


haciendo esta vez utilizando los números 5 y 8, indique que es lo que sucede.

Nos resulta una suma correcta con los valores ingresados.


>>suma(5,8)
ans = 13
Nro. DD-106
Procesamiento de Datos – Lab. 02
Entorno de Matlab y la ventana de comandos
Página 4 de 18

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.

Para ejecutar esta función ingresamos.

>>bisies(2010)

Ingrese los resultados que muestra y explique.

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

MATLAB reconoce las funciones matemáticas elementales:

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.

Al ingresar help elfun nos sale:


Elementary math functions.

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

Rounding and remainder.


fix - Round towards zero.
floor - Round towards minus infinity.
ceil - Round towards plus infinity.
round - Round towards nearest integer.
mod - Modulus (signed remainder after division).
rem - Remainder after division.
sign - Signum.

Al ingesar help specfun:


Specialized math functions.

Specialized math functions.


airy - Airy functions.
besselj - Bessel function of the first kind.
bessely - Bessel function of the second kind.
besselh - Bessel functions of the third kind (Hankel function).
besseli - Modified Bessel function of the first kind.
besselk - Modified Bessel function of the second kind.
beta - Beta function.
betainc - Incomplete beta function.
betaincinv - Inverse incomplete beta function.
betaln - Logarithm of beta function.
ellipj - Jacobi elliptic functions.
ellipke - Complete elliptic integral.
erf - Error function.
erfc - Complementary error function.
erfcx - Scaled complementary error function.
erfinv - Inverse error function.
erfcinv - Inverse complementary error function.
expint - Exponential integral function.
gamma - Gamma function.
gammainc - Incomplete gamma function.
gammaincinv - Inverse incomplete gamma function.
gammaln - Logarithm of gamma function.
psi - Psi (polygamma) function.
legendre - Associated Legendre function.
cross - Vector cross product.
dot - Vector dot product.
Nro. DD-106
Procesamiento de Datos – Lab. 02
Entorno de Matlab y la ventana de comandos
Página 8 de 18

Number theoretic functions.


factor - Prime factors.
isprime - True for prime numbers.
primes - Generate list of prime numbers.
gcd - Greatest common divisor.
lcm - Least common multiple.
rat - Rational approximation.
rats - Rational output.
perms - All possible permutations.
nchoosek - All combinations of N elements taken K at a time.
factorial - Factorial function.

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.

La forma correcta de ingresar las funciones trigonométricas se muestra en el siguiente cuadro:

Ingrese en el PROMPT cada función trigonométrica dando el valor de x=1 e indique los resultados:

Sin(x) sen1 0.8415


Cos(x) cos1 0.5403
Tan(x) tan1 1.5574
Sec(x) sec1 1.8508
Csc(x) cosec1 1.1884
Cot(x) cotg1 0.6421
Nro. DD-106
Procesamiento de Datos – Lab. 02
Entorno de Matlab y la ventana de comandos
Página 9 de 18

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

>>edit seguido del nombre a asignar al programa

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

Anote que es lo que sucede.

“Imprime el título que se puso en el editor que es:


Hola mundo cruel.”
Nro. DD-106
Procesamiento de Datos – Lab. 02
Entorno de Matlab y la ventana de comandos
Página 10 de 18

COMANDOS BASICOS

Funciones Lógicas

IF-END, IF-ELSE-END: Este es un comando condicional, SU SINTAXIS ES:

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

Ingrese el siguiente código:

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.

Para ejecutar esta función, se la llama dándole un argumento:

>>ejercicio1

Ingrese la respuesta y explique:

El nombre que le puse al argumento es de bisiestos, por lo que


con lo que seguía me sale:
>>bisiestos
Introduzca un año: 2018
El año 2018, No es bisiesto
Nro. DD-106
Procesamiento de Datos – Lab. 02
Entorno de Matlab y la ventana de comandos
Página 12 de 18

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

Guarde y ejecute el condigo anterior, ¿Qué es lo que ocurre?, explique:

Ocurre que al momento de introducir los valores que se tratarán,


nos sale dos opciones que son de suma y resta, por lo cual
debemos de escoger una de ellas:

BUCLES Y ESTRUCTURAS DE REPETICION

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.

Para llamar a la función se debe utilizar la siguiente sintaxis.

Explique la de que trata la función y pruebe cambiando los valores a su criterio.

La función trata de una especie de división con los números


dados, como podemos ver en la imagen:
Nro. DD-106
Procesamiento de Datos – Lab. 02
Entorno de Matlab y la ventana de comandos
Página 15 de 18

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

Ejecute la siguiente sentencia:

Indique la respuesta y explique

Es una especie de valores que sale de la función que se puso de


acuerdo a la imagen de continuación:
Nro. DD-106
Procesamiento de Datos – Lab. 02
Entorno de Matlab y la ventana de comandos
Página 16 de 18

BREAK: Hace que se termine la ejecución de un bucle for o while.

Ingrese los siguientes códigos en el Matlab:

Ejercicio 5

Ingrese el siguiente código y ejecútelo

Explique y apunte las respuestas al ejecutar el código:

Sirve para volver al principio del bucle en cualquier momento, sin


ejecutar las líneas que haya por debajo de la palabra.

CONTINUE

Ejercicio 6

Ingrese el código y ejecute

Explique y apunte las respuestas al ejecutar el código:

Es importante ya que nos ayuda a incrementar y modificar


algunos códigos sin necesidad de salirse.
Nro. DD-106
Procesamiento de Datos – Lab. 02
Entorno de Matlab y la ventana de comandos
Página 17 de 18

OBSERVACIONES:

 Realizamos las aplicaciones deforma compleja.


 Hubo muchas complicaciones al saber si se ponían las
funciones en el command w. o el editor.
 Tuve dificultades al momento de aplicar las funciones y valores
al Matlab.
 Mis compañeros preguntaban a la profesora por cualquier duda.

CONCLUSIONES:

 Hasta por una letra mal escrita, no nos da la respuesta.


 Fue una nueva experiencia y que me sirvió de mucha ayuda, ya
que con esto podemos saber de qué manera más nos puede
ayudar esta herramienta del Matlab.
 El buen desempeño y la rápida escritura nos puede ayudar a
hacer más rápido los laboratorios.
 El poner imágenes del laboratorio creo que ayuda a reconocer
un trabajo del alumno.
Nro. DD-106
Procesamiento de Datos – Lab. 02
Entorno de Matlab y la ventana de comandos
Página 18 de 18

PLUSS“LAS IMÁGENES VALEN MAS QUE MIL PALABRAS”

Você também pode gostar