Monday 12 December 2016

Cola Media Móvil


Producir un promedio móvil de una cola (de MyDataClass) Tengo un programa de registro de datos científicos que he estado desarrollando desde hace varios años. Ahora necesitamos agregar alguna funcionalidad para que produzca una media móvil de los datos que se están recopilando. Puedo crear una cola de myDataClass para hacer el amortiguador del fifo pero me preguntaba cuál sería la mejor manera de hacer el promediar. Como se puede ver en el ejemplo de código siguiente, myDataClass contiene varias estructuras de datos, algunas de las cuales pueden promediarse y otras que no pueden (por ejemplo, la cadena). I039m trabajando en una función para devolver un promedio exponencial y hay un montón de ejemplos de promedios móviles exponenciales, pero todos comienzan con una media móvil que es sólo la media como un plomo en el cálculo de la media móvil continua. Sólo necesitaba un promedio exponencial de un conjunto de valores. Después de Googling mi Bing, todavía no he visto nada, así que aquí está mi intento de un promedio exponencial básico. Es esto correcto? Hay algún error? He visto algún texto sobre la adición de un valor de suavizado para cambiar la curva del promedio exponencial, pero no cómo se implementaría. Estoy buscando una manera de encontrar el promedio móvil para los clientes durante un período de 30 días. Sin embargo, no pude encontrar ningún código de muestra VB para ayudarme a empezar. Encontré este ejemplo de C en el proyecto del código pero mis intentos en la conversión no han tenido éxito. Alguien tiene una clase VB existente que les gustaría compartir o sabe usted de una muestra que podría utilizar para construir mi propia Quiero incluir un promedio en una columna donde el promedio ignora los valores cero en una celda de informe donde la columna puede He querido 16, no 11 así (17 19 12 13 19) / 5 no (17 19 0 0 12 13 19) / 7 Algo así si funcionaría. Esencialmente solo media todo en la columna NO es un cero Puse comentarios sobre la salida media, ya que seguía recibiendo mensajes de error sobre eso. (Campos_del_campo. Valor) / Count (iif (Fieldscountcycleperhour. Value gt 0, Fieldsfieldname. Value, 0) Mi salida sigue diciendo: Valor máximo: 33 Valor mínimo: 33 Qué estoy haciendo mal? Opción Explicit On Option Strict En I039m en una clase de informática, y estamos escribiendo programas sencillos usando Visual Basic 2008. Soy realmente inepto cuando se trata de Esto, como nunca lo he hecho antes. Necesito escribir un programa que: quotAsks el usuario para 5 números y calcula el promedio. A continuación, muestra el promedio con un mensaje adecuado antes de la average. quot He estado muy cerca con esto, pero no puedo obtener los números a sumar, a continuación, dividir por 5, y mostrar un mensaje emergente. Tengo un formulario que tiene una cola y quiero transferir esa cola a otra cola en otra forma. Sin embargo cuando intento utilizar los elementos en la segunda cola después de la transferencia, consigo la cola del mensaje de error emptybelow es mi código First Form Imports System. Collections. Generic Clase pública Form1 Private mPerformanceCounter como nuevo System. Diagnostics. PerformanceCounter (quotProcessorquot, quot Processor Timequot, quotTotalquot) Tengo una matriz que I039m básicamente tratando como una cola (FIFO) I039m tratando de decidir la forma más rápida de implementar esto. Actualmente I039m iterando a través de todo y cambiar todo un elemento y la colocación de los nuevos datos 0. Esto estaba bien Cuando estaba tratando con 1000 matrices de elementos, pero ahora I039m moviéndose hasta arrays de elemento 100k y it039s stalling mi código. Ha sido útil tener los datos en forma de matriz porque I039m utilizando el método array. sort y algunas otras modificaciones estadísticas que Utilizar el número de elemento (de la lista ordenada) para work. I039m no estoy seguro si las listas de VB son (como Java) puntero basado, y si es así creo que los punteros de desplazamiento se ejecutaría más rápido que mi enfoque actual. Mi pregunta es, si lo hice Mover a una lista sería a) ser más rápido, y b) hay una manera de llamar a un orden rápido de la clase de lista Si el tiempo de ejecución es el mismo para la matriz vs lista hay una mejor manera de hacer una estructura FIFO en VB cómo quotpeekquot realmente funciona o algo, pero lo que I039m tratando de hacer es tener 2 archivos de audio separados jugar uno tras otro y otra vez again. I esperaba que iba a oír wav1 y wav2 alternativo, pero sólo oigo wav1 en cada cycle. Doesn039t Peek utilizar los primeros datos a continuación, empujar a la parte posterior sin descartar itTherefore wav2 sería el siguiente en la línea de ser jugado código Alguien ha visto una cola de correo electrónico. net Quiero ser capaz de especificar el servidor SMTP para enviar a través de, informar de problemas y volver a intentar Correos electrónicos si es necesario o solicitado. 039Estoy teniendo problemas con la línea quotsenda suba (sendaobj, EventArgs. Empty) quot. código. Sub DestroyUser (ByRef Victomcheck Como Integer, ByRef Victorcheck Como Integer) Dim num As Objeto WriteSub (quotdestroyuserquot) Estoy haciendo un peinado y maquillaje de software en vb y tengo que subir la imagen que se editará, para poner un peinado y maquillaje . No tengo ni idea de cómo puedo hacerlo. Es un software de cambio de imagen virtual y necesito producir las imágenes antes y después. Por favor, alguien me ayude, mi fecha límite es el día 31 Cómo puedo borrar la cola de impresión de VB si lo estaba haciendo manualmente Pararía el servicio de cola de impresión, vaciar la carpeta windowssystem32spoolprinters y reiniciar el servicio Cuál es la diferencia entre una cola ) Y la lista (de t) ha estado trabajando mucho con la lista (de t), pero hasta hace poco no he oído hablar de la cola (de t). Sé que ambos son lista general. Actualmente estoy creando un FTPWebrequest para manejar mi subida (la sección webrequest de mi función está abajo). En este momento mi código pasa a través de esta sección webrequest para cada archivo - dando la ruta del archivo de cada archivo en la cadena quotCompleteLocalPathquot. Para cada archivo se crea una webrequest y se da la ruta de archivo requerida, se carga el archivo utilizando una secuencia de archivos y se cierra la secuencia. Esto funciona, pero parece tomar bastante tiempo. Puede recomendar una manera más eficiente Tal vez mediante el uso de una webrequest, pero la modificación de la ruta de carga Tengo un programa que está usando API039s para enviar eventos de ratón y eventos de teclado a otra aplicación que se está ejecutando. Necesito saber cómo saber si hay algún mensaje que deje de procesar para esa ventana después de que haga clic en un botón o cambie al siguiente campo. Necesito saber esto para que don039t enviar más eventos de ratón o teclado hasta que haya terminado de procesar todo en su cola de mensajes. Un ejemplo es que hago clic fuera del campo clave y el formulario tiene que salir y leer un registro de cliente. Esto puede tomar un segundo o dos, así que tengo que esperar hasta que el formulario está listo para más información. El siguiente código (VB 2008) comprobará la cola de impresión cada milisegundo para un trabajo. A continuación, mostrará el pagecount en un cuadro de texto. Funciona muy bien cuando im impresión a una impresora local, pero Tan pronto como cambiar mi impresora por defecto de PC a una impresora de red, no puedo capturar cualquier dato. I039m que busca una manera de mover un printjob de una impresora pausada a otra impresora. He mirado el nuevo espacio de nombre System. printing en el marco. NET 3.X. Is hay una manera de hacerlo en. NET Una aplicación externa crea un printjob. I captura la cuota de evento printjob addquot en el printqueue. I pausa el printjob . Ahora quiero mover el printjob a otra printerIs hay una manera de hacerlo en. NET Tengo una colección de valores de rodadura donde se especifica el tamaño de la colección y en cualquier momento se agrega un nuevo valor, los valores antiguos más allá de este El tamaño especificado se deja caer. Obviamente (y I039ve probado esto) el mejor tipo de colección para usar para este comportamiento es una cola: myQueue. Enqueue (newValue) Si myQueue. Count gt specifiedSize Then myQueue. Dequeue () Hemos hecho el código para Escribiendo desde y hacia una cola de mensajes de IBM. Writin va bien, pero la lectura da un error, vea texto en negrita Son las siguientes 2 sentencias SQL lo mismo Producirán los mismos resultados sql1 quotSELECT FROM StudentDetials WHERE (Subject1 LIKE 039quot amp Subject (0) Amp quot039 OR Sujeto2 LIKE 039quot amp Sujeto (0) amp quot039) AND (Day1 LIKE 039quot amp TabDay amp quot039 OR Day2 LIKE 039quot amp TabDay amp quot039) AND (Time1 gt 039quot amp Time (0) ampot039 AND ETime1 lt 039quot amp Tiempo (1) amp quot039 OR Time2 gt 039quot amp Tiempo (0) amp quot039 AND ETime2 lt 039quot amp Tiempo (1) amp quot039) quot sql1 quotSELECT FROM StudentDetials DONDE (Asunto1 COMO 039quot amp Sujeto (0) amp quot039 AND Day1 LIKE 039quot amp TabDay amp quot039 Y Time1 gt 039quot amp Tiempo (0) amp quot039 AND ETime1 lt 039quot amp Tiempo (1) amp quot039) OR (Sujeto2 LIKE 039quot amp Sujeto (0) amp quot039 AND Day2 LIKE 039quot amp TabDay amp quot039 AND Time2 gt 039quot (0) amp quot039 AND ETime2 lt 039quot amp Tiempo (1) amp quot039) En mi caso, simplemente producen los mismos resultados, pero that039s debido a los datos i039m utilizando. Intenté convertir el siguiente código C en VB. NET y obtuve quotExpression no produce un error valuequot mientras compila el código return Fluently. Configure ().Mappings (m gt m. FluentMappings. AddFromAssemblyOfltMyEntityMappinggt ()).Database (SQLiteConfiguration. Standard. InMemory () ShowSql ()).ExposeConfiguration (x gt nuevo SchemaExport (x).Execute (false, true, false)).BuildSessionFactory () Volver Fluently. Configure ().Mappings (Function (m) m. FluentMappings. AddFromAssemblyOf (Función (x) Nuevo SchemaExport (x).Execute (Falso, Verdadero, Falso)).BuildSessionFactory () El error (Error de la tabla de subescritura) ()).Database (SQLiteConfiguration. Standard. InMemory ().ExceptionConfiguration Ocurre en la 2da línea pasada de código de VB. NET, mientras que el código de C se compila sin problema. Qué está mal con la conversión intenté convertir el código siguiente de C en VB. NET y conseguí quotExpression no produce un error del valuequot mientras que compila el código I Estoy portando sobre algún código de. net (vb) a php y me encontré con algunos hash md5 que no puedo reproducir en php. En el. net hay dos funciones que usan la codificación UTF-8 y la otra usa la codificación Unicode. La salida es un hash diferente cuando se pasa en una cadena // Primera función (devuelve GUID) Dim oHasher como Cryptography. MD5 Cryptography. MD5.Create () Dim oEncoder como nuevo System. Text. UTF8Encoding () Dim csData () Como Byte pero Ambos producen el mismo resultado. Es posible producir los mismos resultados en php con md5 hash I039m utilizando el siguiente código para producir una información sobre herramientas para cada fila de un ListView. Cuando se mueve verticalmente a través del ListView, aparecerá una sugerencia cuando el ratón toque entre dos filas, omitiendo cualquiera de las opciones de ToolTip039. Privado mHoveredItem como ListViewItem Private Sub ListView1MouseMove (ByVal remitente como objeto, ByVal e como System. Windows. Forms. MouseEventArgs) Maneja lv. MouseMove I039m no utilizar la propiedad ShowItemToolTips de ListView porque quiero tener una información más formateada ToolTipIcon, título Etc) No creo que estas opciones se pueden configurar para la ToolTip ListViews I039ve updloaded un proyecto de muestra del problema aquí: URL. He creado un programa que puede producir un archivo XML de la base de datos SQL. Y el código se ve como a continuación: por qué hay un ltNewDataSetgtlt / NewDataSetgt node2. Cómo quitar ese nodo Ahora estoy buscando una manera de producir archivos pdf de archivos xls. Puesto que el programa terminado será distribuido a otros, él tendría que trabajar en el ambiente sin el productor del quotpdf que utilizo. Cuál es el productor del quotpdf a usar? Ahora estoy trabajando en la versión expresa de VB 2005 (que no tiene informe cristalino) . Tengo acrobat 8.0 instalado, pero no he descubierto cómo hacer that. I necesidad de realizar un seguimiento de los últimos 7 días de horas de trabajo en un bucle plano de lectura de archivos. Se utiliza para medir la fatiga de las listas de trabajo. En este momento tengo algo que funciona, pero parece bastante detallado y no estoy seguro de si theres un patrón thats más sucinto. Actualmente, tengo una clase de Java con una matriz estática para sostener los últimos datos de x días, entonces como leo a través del archivo, cortar el primer elemento y mover los otros 6 (por una semana rodando total) de vuelta por uno. El procesamiento de esta matriz estática se realiza en su propio método es decir. Mi pregunta: es esto un enfoque de diseño razonable, o hay algo obviamente obvio y simple para hacer esta tarea Gracias chicos preguntó Aug 30 11 at 14:33 Muchas gracias chicos: Tengo el mensaje: utilizar un objeto de nivel superior y explotar el Métodos relevantes o un tampón circular. Excelentes respuestas, todas ellas. Cuando piensas en ello, siempre necesitas tener acceso a toda la matriz para que puedas deshacerte de esa primera entrada, la cual no estaba seguro por mi cuenta. I39m aliviado de que no me había perdido un liner 1 y estaba básicamente en una pista razonable, si no eficiente y concisa Esto es lo que me encanta sobre este sitio: de alta calidad, las respuestas pertinentes de las personas que conocen su sht. Ndash Pete855217 Aug 30 11 at 15:05 Por qué inicializar runningTotal a null Cuál es su tipo Donde se declara haría bien si se ponen algunos ejemplos de código que se asemejan a código real de Java. Continuando, mi crítica sería la siguiente: su función hace demasiado. Una función o método debe ser cohesivo. Más apropiadamente, deben hacer una cosa y una sola cosa. Peor aún, lo que sucede en su bucle for cuando x 5 Copia runningTotal6 en runningTotal5. Pero entonces usted tiene dos copias del mismo valor en la posición 5 y 6. En su diseño, su función mueve / baraja los artículos en su arsenal calcula el total imprime materia al error estándar devuelve el total Hace demasiado. Mi primera sugerencia es no mover cosas alrededor en la matriz. En su lugar, implementar un búfer circular y utilizarlo en lugar de la matriz. Se simplificará su diseño. Mi segunda sugerencia es dividir las cosas en funciones que son coherentes: tener una estructura de datos (un buffer circular) que le permite agregar (y que cae la entrada más antigua cuando alcanza su capacidad.) Tener la estructura de datos implementar un Interator tiene una función que calcula el total en el iterador (no te importa si estás calculando el total de una matriz, lista o bufer circular). No lo llaman total. Llámelo suma, que es lo que está computando. Eso es lo que hago :) That39s gran información luis, sin embargo recuerde que esta función es una pequeña parte de la funcionalidad de la clase, y sería excesivo agregar demasiado código para hacerlo perfecto. Usted es técnicamente correcto, y entiendo que mi código hace mucho 39 pero al mismo tiempo a veces es mejor errar en el lado del código más pequeño, más claro que ir para la perfección. Teniendo en cuenta mis habilidades de Java, incluso haciendo que el pseudocódigo que describe compilar tendría que soplar mi presupuesto en esto (), pero gracias por la descripción clara. Ndash Pete855217 Aug 31 11 at 2:23 Hmmm, no se trata de la perfección, sino de las prácticas industriales establecidas que hemos conocido durante las últimas 3 décadas. El código limpio siempre es un particionado. Tenemos décadas de evidencia que indican que este es el camino a seguir en el caso general (en términos de costo-eficiencia, reducción de defectos, comprensión, etc.). A menos que sea un código desechable para una cosa de una sola vez. Nunca es costoso hacer esto cuando uno comienza cualquier análisis del problema de esta manera. Codificación 101, romper el problema y el código sigue, ni exceso ni difícil) ndash luis. espinal Ago 31 11 at 15:55 Su tarea es demasiado simple y el aproach que ha adoptado es sin duda bueno para el trabajo. Sin embargo, si desea utilizar un mejor diseño, debe deshacerse de todo ese movimiento de números que mejor utilizar una cola FIFO y hacer buen uso de los métodos push y pop de esa manera el código no reflejar cualquier movimiento de datos, sólo las dos acciones lógicas De datos nuevos y eliminar datos anteriores a 7 días. Respondió 30 de agosto 11 a las 14: 49 tengo un programa de registro de datos científicos que he estado desarrollando desde hace varios años. Ahora necesitamos agregar alguna funcionalidad para que produzca una media móvil de los datos que se están recopilando. Puedo crear una cola de myDataClass para hacer el amortiguador del fifo pero me preguntaba cuál sería la mejor manera de hacer el promediar. Como se puede ver en el ejemplo de código siguiente, myDataClass contiene varias estructuras de datos, algunas de las cuales pueden promediarse y otras que no pueden (por ejemplo, la cadena). La pregunta principal es si hay una manera fácil de lograr esto o necesito escribir código para promediar cada elemento dentro de myDataClass o debería rediseñar miDataClass Gracias. Martes, 12 de julio de 2011 9:14 Respuestas Personnaly, crearía una clase QuotDataQueue (de MyDataClass) que se deshace si el recuento en la cola pasa 10 elementos. De esta manera, nunca tendrá que cuidar el número de elementos en la cola de su código, esto será cuidar de dentro de la clase de cola Marcado como respuesta por Mike Feng Moderador miércoles, 20 de julio de 2011 13:56 Tuesday, July 12, 2011 9:40 am Después de un poco más de investigación, supongo que he encontrado la solución para usted. Puede utilizar el método CopyTo para copiar los elementos de la izquierda en la cola en una matriz. Tenga en cuenta que no calcular el promedio, sólo mostró cómo se puede obtener la base de sus cálculos, pero que es sólo la adición de sus propios cálculos en torno a su regla de negocio para eso. Marcado como respuesta por Mike Feng Moderador Miércoles, 20 de julio de 2011 13:56 Viernes, 15 de julio de 2011 5:16 Basado en mi comprensión, su requisito es algo como esto: Este es el dato en la cola: myDataClass1. Datadbl 2.1 datastr quotsomeString1quot dataarraydbl una matriz doble myDataClass2. Datadbl 3.5 datastr quotsomeString2quot dataarraydbl una matriz doble myDataClass10. Datadbl 9.1 datastr quotsomeString10quot dataarraydbl una matriz doble Ahora, usted desea calcular el número medio de feeds de datadbl en cada objeto myDataClass, y obtener el número promedio de datos de datos. Si es así, te sugeriré que hagas lo mismo que Crazypenie sugirió: construye una nueva clase llamada DataQueue: Espero que esto sea útil, si he entendido mal cualquier cosa, por favor no dude en avisarme. Mike Feng MSFT MSDN Soporte de la comunidad Feedback para nosotros Obtenga o solicite un ejemplo de código de Microsoft Recuerde marcar las respuestas como respuestas si las ayudan y las desmarcan si no proporcionan ayuda. Marcado como respuesta por Mike Feng Moderador miércoles, 20 de julio de 2011 13:55 Viernes, 15 de julio de 2011 3:33 Gracias Cor, podría hacerlo así pero myDataClass es bastante grande y el sistema de registro puede estar funcionando para Un largo tiempo por lo que es más eficiente para mí a las copias basura de la clase que realmente no necesitan para calcular el promedio. La cola parecía la manera más fácil de lograr esto. Mi pregunta principal es, sin embargo, cómo promedio de una clase como esta estoy recibiendo la sensación de que voy a tener que escribir código que lo hace específicamente para cada tipo de datos en myDataClass. Clase pública myDataClass Martes 12 de Julio de 2011 10:40 AM Según mi comprensión, su requisito es algo como esto: Este es el dato en la cola: myDataClass1. Datadbl 2.1 datastr quotsomeString1quot dataarraydbl una matriz doble myDataClass2. Datadbl 3.5 datastr quotsomeString2quot dataarraydbl una matriz doble myDataClass10. Datadbl 9.1 datastr quotsomeString10quot dataarraydbl una matriz doble Ahora, usted desea calcular el número medio de feeds de datadbl en cada objeto myDataClass, y obtener el número promedio de datos de datos. Si es así, te sugeriré que hagas lo mismo que Crazypenie sugirió: construye una nueva clase llamada DataQueue: Espero que esto sea útil, si he entendido mal cualquier cosa, por favor no dude en avisarme. Mike Feng MSFT MSDN Soporte de la comunidad Feedback para nosotros Obtenga o solicite un ejemplo de código de Microsoft Recuerde marcar las respuestas como respuestas si las ayudan y las desmarcan si no proporcionan ayuda. Marcado como respuesta por Mike Feng Moderador miércoles, 20 de julio de 2011 13:55 viernes, 15 de julio de 2011 3:33

No comments:

Post a Comment