Sei sulla pagina 1di 23

PROCESAMIENTO DE DATOS

LABORATORIO N° 03
MATLAB – 2018 Introducción al uso de
funciones, Funciones lógicas y estructuras de
control, principios de programación.
CODIGO DEL CURSO:

Alumno(s)

Muy Muy
Bueno Regular
Rúbrica: bueno Malo(2) Malo
(4) (3)
(5) (1)
Utiliza funciones trigonométricas.

Utiliza funciones bucle


Implementación de funciones con
Matlab.
Observaciones y conclusiones.

Nota
Grupo
Ciclo
Fecha de entrega

PROGRAMA DE FORMACIÓN REGULAR


Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 2 de 23

I.- OBJETIVOS:
1. Manejar y comprender el uso de funciones matemáticas, trigonométricas en programa Matlab.
2. Utilizar correctamente las funciones bucle.
3. Solucionar problemas planteados de funciones.
4. 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.

EJERCICIOS CON MATLAB

1. Crear la variable r=0.384 radianes y luego convertir a grados sexagesimales, usar la siguiente formula:

𝟏𝟖𝟎. 𝒓
𝑺=
𝝅

Cuando concluyas cada uno de los ejercicios que están a continuación, deberás capturar las
respuestas en Matlab y copiar en donde corresponde.
Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 3 de 23

2. Calcular el volumen del cilindro que se muestra en la siguiente figura, sabiendo que el radio es de 50 cm y la
altura es de 2 m.

3. Se tiene una temperatura de 20 °C, convertir dicha temperatura a las escalas en grados Kelvin (°K) Fahrenheit
(°F) y Rankine (°R), usar la siguiente formula:
Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 4 de 23

4. Conociendo los valores de Ra= 5 Ω, Rb= 10 Ω y Rc= 7,5 Ω. Determinar los valores de R1, R2 y R3.
Luego conociendo los valores de R1= 8 Ω, R2=3 Ω y R3 =6 Ω. Determinar los valores de Ra, Rb y Rc.
Para ello debe utilizar las formulas de la siguiente figura:
Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 5 de 23

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 Función( argumentos entrada )


Declaraciones o sentencias
end

En donde:

 Nombre función, 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. Encender e ingresar a la máquina virtual que tiene instalado el software Matlab 2017b, proceda a abrir el
software Matlap y abrir un New Script y escribir:

2. Luego ir al PROMPT y escribir lo siguiente:

>> Edit suma

3. Se procederá a abrir el editor con el nombre suma, en el cual deberán de ingresar el siguiente código:
Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 6 de 23

4. 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...
5. Una vez ingresado y guardado el código procederemos a ingresar en la ventana de commant window , dentro
del PROMPT LO siguiente:

Capture la pantalla de la respuesta y pegarlo donde corresponde:

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.

Pasos:
1.- %Sumatoria de valores
2.-Clear, clc
3.- Function [x] = suma (x, y)
4.- z = x + y;
5.-end
Esta Función me permite realizar distintas funciones matemáticas;
como suma, resta, multiplicación y división.

Implementar dos funciones diferentes donde se pueda visualizar diferentes tipos de operaciones, por
ejemplo:
a) Propongo la primera

q = (m*n)/s^2
Pero tú debes implementarla correctamente y capturar la imagen correspondiente.
Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 7 de 23

b) Esta vez tu propones el segundo ejercicio y luego también debes capturar la imagen:

Continuemos con la práctica: Escribir una función para que se pueda calcular si un año es o no bisiesto. Si es
bisiesto que devuelva un 1, caso contrario que devuelva un 0.

Para ejecutar esta función ingresamos.


Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 8 de 23

>>bisies(2018)

Ingrese los resultados que muestra y explique.

Los años Bisiestos se dan cada 4 años y al poner 2018 me sale


que no es un año bisiesto.

Intenta escribir las funciones necesarias pero esta vez que en lugar de cero y el uno, que aparezca año
bisisesto y año no bisiesto.

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 inglés (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 práctica en ingeniería en donde son más usados el logaritmo decimal o
el de base 2.
Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 9 de 23

¿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.
Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 10 de 23

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

Pero hay que aclarar:


Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 11 de 23

Ingresar en el PROMPT cada función trigonométrica en radianes y en grados sexagesimales dando el valor de x=1
e indique los resultados:

Trabajemos ahora el siguiente ejercicio:

Determinar las tensiones sobre las cuerdas AC y BC que se muestra en la figura, sabiendo que  =25° ,
 =55° y el peso del bloque es de 50N.
Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 12 de 23
Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 13 de 23

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 e ingresa una nueva frase


Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 14 de 23

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. 03
Uso de funciones lógicas y estructuras
Página 15 de 23

Haciendo uso de los conceptos de lógica matemática encontrar los valores de la siguiente tabla:

a b c (a ^ ~𝒃) 𝛁 (𝐚 ^ 𝐜)
V V V V F F V V V V
V V F V F F F V F F
V F V V V V V V V V
V F F V V V V V F F
F V V F F F F F F V
F V F F F F F F F F
F F V F F V F F F V
F F F F F V V F F F

Es una contingencia
Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 16 de 23

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:

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:
Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 17 de 23

Ejercicio 2
Ingrese y ejecute el condigo anterior en MatLab, Probarlo con diferentes valores ¿Qué es lo que ocurre?, explique
y no olvide capturar la imagen correspondiente:
Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 18 de 23

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.

Consideraciones que hay que tener en cuenta:


Previamente hay que diferenciar contador de acumulador.
El CONTADOR es aquella variable que siempre se incrementa o se decrementa de uno en uno ejemplo: x = x+1 ó
y = y -1, mientras que ACUMULADOR es el valor que se ira acumulando en una variable, ejemplo: suma=suma+5
ó suma = suma +50

Ejemplo: Determinar la suma de N términos enteros que se ingresen desde el teclado. Ingresar los siguientes
datos y analizarlos antes de realizar el siguiente ejercicio. Captura la Imagen y pegarla donde corresponda)

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. 03
Uso de funciones lógicas y estructuras
Página 19 de 23

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.

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:
Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 20 de 23

Los bucles for son la opción más sencilla cuando usted sabe cuántas veces necesita repetir el bucle

Ejercicio 4

Ejecute la siguiente sentencia:

Indique la respuesta y explique

Ejercicio 5
Implementar el siguiente ejercicio de for para encontrar los valores de 7 elevados a la potencia entre 2 y 5.
Capturar la imagen según corresponda.
Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 21 de 23

Ejercicio 6
Implementar un bucle for que nos permita ver cuantas notas de un alumno “x” de TECSUP está entre 90 y
100 puntos, considerando que este rango corresponde a un nivel destacado. (encontrar el error y corregir,
luego capturar la imagen)

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

Ingrese los siguientes códigos en el Matlab:

Ejercicio 7

Ingrese el siguiente código y ejecútelo

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


Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 22 de 23

CONTINUE: Sirve para volver al principio del bucle en cualquier momento, sin ejecutar las líneas que haya por
debajo de la palabra continue.

Ejercicio 8

Ingrese el código y ejecute

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

Observaciones
 El tema no fue de mi agrado a pesar de que
estuve a punto de terminarlo.
 Son muchas hojas a tan poco tiempo, las
últimas hojas no se entienden nada y me he
perdido.
 Tuve dificultad en las ultimas partes de
hoja, bueno quería terminar, pero me falto
tiempo.
Nro. DD-106
Procesamiento de Datos – Lab. 03
Uso de funciones lógicas y estructuras
Página 23 de 23

Conclusiones
 Concluyo que para tener mejores resultados
tenemos que tener una mejor enseñanza.
 Se logró aplicar las funciones de una
manera adecuada para los ejercicios.
 Se logro determinar los valores de las
resistencias utilizando el programa Matlab.

Potrebbero piacerti anche