Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Práctica 3: Números aleatorios Labview César Iván Rodrı́guez Rivas 221393 Ingenirı́a en nanotecnologı́a, Facultad de ingenirı́a Universidad Autónoma de Querétaro crodriguez19@alumnos.uaq.mx Resumen—En éste documento se implementa una propuesta para un instrumento virtual que utilice un generador de números y cumpla con las caracteriticas solicitadas, para esto se utiliza exclusivamente Labview. Index Terms—Labview, digital, electronic, aleatory, graphic I. INTRODUCCIÓN Se necesita realizar un instrumento virtual en la plataforma Labview, con el fin de que el usuario pueda generar números aleatorios y obtener de este arreglo de números su promedio, máximo, mı́nimo y su gráfica. En la programación se debe usar un ciclo ”for 2en cuanto a las demás funciones se da libertad para que cumpla con las especificaciones antes mencionadas. II. OBJETIVO Elaborar un intrumento virtual que genere cien números aleatoreos, encuentre el máximo junto con el mı́nimo, el promedio y genere una gráfica de los mismos. III. MATERIAL Software Labview 2021 IV. FUNDAMENTACIÓN TEÓRICA IV-A. Ciclo For en Labview Las estructuras de ejecución contienen secciones de código gráfico y controlan cómo y dónde el código dentro se ejecuta. Las estructuras de ejecución más comunes son Ciclos While, Ciclos For y Estructuras de Casos los cuales puede usar para ejecutar la misma sección del código varias veces o para ejecutar una sección diferente del código basada en alguna condición. Un Ciclo For ejecuta un subdiagrama un número de veces establecido. La terminal de conteo es una terminal de entrada cuyos valores indican cuantas veces se repite el subdiagrama. La terminal de iteración es una terminal de salida que contiene el número de iteraciones terminadas. La cantidad de iteraciones para el Ciclo For siempre comienza en cero. El Ciclo For difiere del Ciclo While en que el Ciclo For ejecuta un número de veces establecido. Un Ciclo While detiene la ejecución solamente si existe el valor en la terminal condicional. IV-B. Generador de números aleatorios Un generador de números aleatorios (RNG por sus siglas en inglés) es un dispositivo informático o fı́sico diseñado para producir secuencias de números sin orden aparente. Un generador de números aleatorios está limitado por su propia definición. Suelen funcionar ası́: se toma un valor inicial (llamado semilla), se realizan con él ciertas enrevesadas operaciones matemáticas y de ahı́ surge el resultado. Si el generador está bien diseñado cada vez que se utilice ofrecerá un nuevo número y la secuencia será aleatoria. O al menos, lo más aleatoria posible. El problema es que cada vez que se comience por la misma semilla la secuencia será idéntica. Como decı́a el matemático y pionero de la informática Donald Knuth: ”los números al azar no deberı́an generarse mediante un método elegido al azar”. V. DESCRIPCIÓN METODOLÓGICA Para realizar el VI en cuestión solo se necesita una entrada, que en este caso se trata de un generador de números aleatorios, cuatro salidas (promedio, máximo, mı́nimo y la gráfica) y por último un ciclo ”for”para que se generen los cien números en una sola solicitud del usuario. En el diagrama de bloques, dentro del ciclo ”for”tendrá que estar el generador de números aleatoreos, para esto usaremos un generador que encuentre numeros del 0 a 1, posterior a esto multiplicamos estos números por cien pero también hay que encontrar el valor entero como lo indica el problema. Una vez teniendo los números salimos del ciclo ”for”para mandarlos a una sumatoria (para dividirlo entre cien y encontrar la sumatoria), a la función que muestra el máximo y mı́nimo de un arreglo de números y finalmente a un generador de gráficas. En el panel frontal se colocan cinco indicadores, una pantalla para la gráfica, dos para el máximo y el mı́nimo respectivamente, uno para mostrar el número de iteraciones, otro para el promedio y por último el último número que se generó. VI. RESULTADOS Una vez implementado se realizarón varı́as pruebas a fin de verificar que sı́ se esten generando números aleatoriamente y no el mismo arreglo. Ya verificado se observó que se debı́a modificar el estilo de linea por defecto en la gráfica para que se pueda analizar mucho mejor con mayor facilidad por parte del usuario. Después de realizar estas modificaciones, el VI cumplı́a con las especificaciones solicitadas, realizaba correctamente las operaciones y mostraba los resultados satisfactoriamente. VI-A. Circuito simulado En las siguientes imagenes se encuentran ejemplos de las combinaciones, esto para el caso del lector de credenciales. Figura 1. Implementación en Labview: Panel Frontal Figura 2. Implementación en Labview: Diagrama de bloques VII. CONCLUSIONES La mayor problematica que surge al momento de abordar operaciones con una cantidad grande de números aleatorios, es conocer como almacenarlos y después hacer las operaciones necesarias. Labview entre sus herramientas tiene funciones de arreglos que incorporan ya las operaciones, esto lo hace mucho más fácil de programar y simplifica de manera muy eficiente el diagrama de bloques. Es un programa sencillo en el que su complejidad radica en la experiencia y conociemiento de las funciones que ofrece Labview, ya que si se intenta programar de la misma manera que se hace en lenguajes de progrmación como C++, phyton, etc., se complica inecesariamente. REFERENCIAS [1] Sin autor, Estructuras de Ejecución en LabVIEW, national instru- ments, https://www.ni.com/getting-started/labview-basics/esa/execution- structures [2] Stephan M., CPU Time Jitter Based Non-Physical True Random Number Generator, atsec information security, https://www.kernel.org/doc/ols/2014/ols2014-mueller.pdf [3] Alvarado I., Cómo generar números al azar con ordenadores que no son tan aleatorios, El paı́s, https://elpais.com/tecnologia/2017/07/20/actualidad/1500554624627767 .html Introducción Objetivo Material Fundamentación Teórica Ciclo For en Labview Generador de números aleatorios Descripción Metodológica Resultados Circuito simulado Conclusiones Referencias
Compartir