Está en la página 1de 15

PRÁCTICA 3: Funciones definidas por el usuario, entrada y salida

controlada por el usuario y Funciones lógicas y estructuras de


control.
Realizado por: Ing. Paúl Torres Jara M.Sc.
1. OBJETIVO.
Crea programas que le permitan resolver problemas del área básica de Ingeniería Civil.
2. RESUMEN.
En la práctica al alumno se le introducirá en las Funciones definidas por el usuario, entradas
y salidas controladas por el usuario y Funciones lógicas y estructuras de control.
Los alumnos tienen que utilizar las presentaciones (7, 8, 9) explicada en clase.
El alumno deberá mostrar los “ejercicios resueltos propuestos “, en Word insertándolos con
un print de pantalla visualizado en Matlab.
3. INTRODUCCIÓN.
MATLAB puede utilizarse como un lenguaje de programación de alto nivel que incluye
estructuras de datos, funciones, instrucciones de control de flujo, manejo de
entradas/salidas e incluso programación orientada a objetos. Los programas de MATLAB
suelen escribirse en ficheros denominados M-ficheros. Un M-fichero no es más que código
MATLAB (scripts) que simplemente ejecuta una serie de comandos o funciones que aceptan
argumentos y producen una salida. Los M-ficheros se crean utilizando el editor de texto
[ CITATION Pér02 \l 12298 ].

4. TRABAJO DE LABORATORIO.
4.1. Funciones definidas por el usuario.
El siguiente resumen MATLAB menciona y describe brevemente todos los caracteres, comandos y
funciones especiales. [ CITATION Hol07 \l 12298 ].

4.2. Entradas y salidas controladas por el usuario.


El siguiente resumen MATLAB menciona todos los caracteres, comandos y funciones especiales.

4.3. Funciones lógicas y estructuras de control.


Secciones de código de computadora se pueden categorizar como secuencias, estructuras de
selección y estructuras de repetición. Las secuencias son listas de instrucciones que se ejecutan en
orden. Las estructuras de selección permiten al programador definir criterios (enunciados
condicionales) que el programa usa para elegir rutas de ejecución. Las estructuras de repetición
definen bucles en los que una secuencia de instrucciones se repite hasta que se satisface algún
criterio (también definidos mediante enunciados condicionales). MATLAB usa los operadores
relacionales matemáticos estándar, como mayor que (>) y menor que (<). La forma del operador no
igual a (~=) usualmente no se ve en los textos de matemáticas. Además, MATLAB incluye operadores
lógicos como and (&) y or (|). Estos operadores se usan en enunciados condicionales, lo que permite
a MATLAB tomar decisiones acerca de cuáles porciones del código ejecutar. El comando find es
único para MATLAB y debe ser la función condicional primaria usada en su programación. Este
comando permite al usuario especificar una condición mediante el uso de operadores lógicos y
relacionales. Entonces el comando se usa para identificar elementos de una matriz que satisface la
condición. Aunque se pueden usar los comandos if, else y elseif tanto para variables escalares como
matriciales, son útiles principalmente para escalares. Estos comandos permiten al programador
identificar rutas de cómputo alternativas sobre la base de los resultados de enunciados
condicionales.

5. EJERCICIOS DE PRÁCTICA.
Funciones definidas por el usuario.
5.1. Este problema requiere que usted genere tablas de conversión de temperatura. Use
las siguientes ecuaciones, que describen las relaciones entre temperaturas en grados Fahrenheit
(TF), grados Celsius (TC), grados Kelvin (TK) y grados Rankine (TR), respectivamente:

Necesitará reordenar estas expresiones para resolver algunos de los problemas.

(a) Cree una función llamada F_to_K que convierta temperaturas en Fahrenheit a Kelvin. Use su
función para generar una tabla de conversión para valores desde 0 °F hasta 200 °F.

(b) Cree una función llamada C_to_R que convierta temperaturas en Celsius a Rankine. Use su
función para generar una tabla de conversión desde 0 °C hasta 100 °C. Imprima 25 líneas en la tabla.
(Use la función linspace para crear su vector de entrada.)
(b) Cree una función llamada C_to_F que convierta temperaturas en Celsius a Fahrenheit. Use su
función para generar una tabla de conversión desde 0 °C hasta 100 °C. Elija un espaciamiento
adecuado.

(c) Agrupe sus funciones en una carpeta (directorio) llamado my_temp_conversions. Ajuste la
ruta de búsqueda MATLAB de modo que encuentre su carpeta.
Entrada y salida controladas por el usuario.
5.2. Los ingenieros usan regularmente unidades tanto inglesas como SI (Système
International d’Unités). Algunos campos usan principalmente uno u otro, pero muchos combinan los
dos sistemas. Por ejemplo, la tasa de entrada de energía a una planta de potencia de vapor a partir
de la quema de combustibles fósiles usualmente se mide en Btu/hora. Sin embargo, la electricidad
producida por la misma planta, por lo general, se mide en joules/s (watts). En contraste, los motores
de automóvil con frecuencia se califican en caballos de fuerza o en pie lbf /s. He aquí algunos
factores de conversión que relacionan estas diferentes mediciones de potencia:

1 kW = 3412.14 Btu/h = 737.56 ft lbf /s

1 hp = 550 ft lbf /s = 2544.5 Btu/h

(a) Genere una tabla de conversiones de kW a hp. La tabla debe comenzar en 0 kW y terminar en 15
kW (utilice el comando input para los datos de entrada). Use la función input para permitir al
usuario definir el incremento entre entradas de la tabla. Use disp y fprintf para crear una tabla
con un título, encabezados de columna y espaciamiento apropiado.

(b) Genere una tabla de conversiones de ft lbf /s a Btu/h. La tabla debe comenzar en 0 kW, pero
permitir al usuario definir el incremento entre entradas de tabla y el valor final de la tabla. Use disp y
fprintf para crear una tabla con un título, encabezados de columna y espaciamiento apropiado.
(c) Genere una tabla que incluya conversiones de kW a Btu/h y ft lbf /s. Permita al usuario definir el
valor inicial de kW, el valor final de kW y el número de entradas en la tabla. Use disp y fprintf para
crear una tabla con un título, encabezados de columna y espaciamiento apropiado.
5.3. La función ginput es útil para escoger distancias de una gráfica. Demuestre
esta característica mediante la realización de lo siguiente:
a) Cree una gráfica de un círculo mediante la definición de un arreglo de ángulos desde 0 hasta
2 pi, con un espaciamiento de pi/100.

b) Use la función ginput para elegir dos puntos en la circunferencia del círculo.
c) Use hold on para evitar que la figura se refresque y grafique una línea entre los dos puntos
que eligió.
d) Use los datos de los puntos para calcular la longitud de la línea entre ellos. (Sugerencia: use
el teorema de Pitágoras en su cálculo.)
Funciones lógicas y estructuras de control.
5.4. La altura de un cohete (en metros) se puede representar mediante la siguiente
ecuación:

Cree un vector de valores de tiempo (t) desde 0 hasta 100 a intervalos de 2 segundos.

(a) Use la función find para determinar cuándo el cohete golpea el suelo hasta dentro de 2 segundos.
(Sugerencia: el valor de altura será positivo para todos los valores hasta que el cohete golpee el
suelo.)
(b) Use la función max para determinar la altura máxima del cohete y el tiempo
correspondiente.

(c) Cree una gráfica con t en el eje horizontal y altura en el eje vertical para tiempos hasta que
el cohete golpee el suelo. Asegúrese de agregar un título y etiquetas de eje.
5.5. Suponga que la siguiente matriz representa el número de sierras ordenadas por su
compañía cada mes durante el último año.

Todos los números deben ser cero o positivos.

(a) Use un enunciado if para verificar si alguno de los valores en la matriz es inválido. (Evalúe
toda la matriz una vez en un solo enunciado if.) Envíe a la pantalla el mensaje “Todos
válidos” o “Número inválido encontrado”, dependiendo de los resultados de su análisis.
(b) Cambie la matriz saws para incluir al menos un número negativo y verifique su programa para
asegurarse de que funciona para ambos casos.

6. CONCLUSIONES.
Esta practica nos sirvió para poner en práctica lo analizado en las clases ya que se
utilizo todos los comando que abarcaban tanto funciones definidas por el usuario
utilizando la opción fuction, Entradas y salidas controladas por el usuario utilizando
el disp. o fprintf, funciones lógicas con el if y else
Los comandos disp y fprintf nos ayuda a imprimir de una forma optima ordenada
según el formato queramos imprimir.
También se utilizo el comando ginput para obtener los valores elegidas en la gráfica,
estos puntos de gráfica nos sirvo para calcular la distancia entre los dos puntos con
la fórmula del teorema de Pitágoras.
Se utilizo el comando find para encontrar las alturas que se ha mayores a 0 ya que
estas era las que no tocaban el suelo aquí se hallo 30 valores válidos. Estos valores
fueron representados.
Finalmente se utilizo el comando if para ver si un vector tiene valores válidos si sus
elementos son positivos y si hay algún elemento negativo es invalido el vector.

7. RECOMENDASIONES.
 Es necesario ir comentado todo el código para hallar algún error en el código
más fácil.
 Conocer el funcionamiento de cada comando según corresponda en cada
programa.
Ingresar correctamente las fórmulas con el .* cuando se ha un vector para
que el Matlab pueda operar correctamente.
8. BIBLIOGRAFIA.

Moore, H. (2007). MATLAB PARA INGENIEROS. Mexico: PRENTICE HALL.

Pérez, C. (2002). Matlab y sus aplicaciones en las Ciencias y la Ingeniería. Madrid: PEARSON
EDUCACIÓN, S.A.

También podría gustarte