Sunday, 29 January 2017

Moyenne Mobile Ansi C

Je sais que cela est réalisable avec boost selon: Mais je voudrais vraiment éviter d'utiliser boost. J'ai googlé et n'a pas trouvé d'exemples appropriés ou lisibles. Essentiellement, je veux suivre la moyenne mobile d'un flux continu d'un flux de nombres à virgule flottante en utilisant les plus récents numéros 1000 comme un échantillon de données. Quel est le moyen le plus simple pour atteindre ce que j'ai expérimenté avec l'aide d'un tableau circulaire, moyenne mobile exponentielle et une moyenne mobile plus simple et a constaté que les résultats de la matrice circulaire convenait mieux à mes besoins. Si vos besoins sont simples, vous pouvez simplement essayer d'utiliser une moyenne mobile exponentielle. Autrement dit, vous créez une variable d'accumulateur, et comme votre code regarde chaque échantillon, le code met à jour l'accumulateur avec la nouvelle valeur. Vous choisissez un alpha constant qui se situe entre 0 et 1, et calculez ceci: Il vous suffit de trouver une valeur de alpha où l'effet d'un échantillon donné ne dure que pour environ 1000 échantillons. Hmm, je ne suis pas sûr que ce soit approprié pour vous, maintenant que Ive mis ici. Le problème est que 1000 est une fenêtre assez longue pour une moyenne mobile exponentielle Im pas sûr il ya un alpha qui serait la propagation de la moyenne sur les 1000 derniers chiffres, sans underflow dans le calcul en virgule flottante. Mais si vous voulez une moyenne plus petite, comme 30 nombres ou ainsi, c'est une manière très facile et rapide de le faire. A répondu 12 juin à 4:44 1 sur votre poste. La moyenne mobile exponentielle peut permettre à l'alpha d'être variable. Ainsi, cela permet de calculer des moyennes de base de temps (par exemple, des octets par seconde). Si le temps écoulé depuis la dernière mise à jour de l'accumulateur est supérieur à 1 seconde, laissez alpha be 1.0. Sinon, vous pouvez laisser alpha be (usecs depuis la dernière mise à jour1000000). Ndash jxh 12 juin à 6:21 Je veux essentiellement suivre la moyenne mobile d'un flux continu d'un flux de nombres à virgule flottante en utilisant les plus récents numéros 1000 comme un échantillon de données. Notez que la mise à jour ci-dessous le total en tant qu'éléments comme addedreplaced, en évitant coûteux O (N) traversal pour calculer la somme - nécessaire pour la moyenne - sur demande. Le total est fait d'un paramètre différent de T par rapport au support, par ex. En utilisant un long long pour un total de 1000 s longs, un int pour char s, ou un flottant double au total. C'est un peu vicié en ce que les numsamples pourraient dépasser INTMAX - si vous vous inquiétez vous pourriez employer un unsigned long long. Ou utiliser un membre de données bool supplémentaire pour enregistrer quand le conteneur est rempli tout en cyclant numsamples autour du tableau (mieux renommé quelque chose d'inoffensif comme pos). Répondue 12 juin à 5:19 on suppose que l'opérateur quotvoid (échantillon T) est effectivement opérateur quotvoid (T échantillon) quot. Ndash oPless Jun 8 14 at 11:52 oPless ahhh. Bien repéré. En fait, je voulais qu'il soit vide opérateur () (T échantillon), mais bien sûr, vous pouvez utiliser n'importe quelle note que vous avez aimé. Correction, merci. Ndash Tony D Jun 8 14 à 14: 27Real-Time After Hours Pre-Market News Citation Flash Résumé Citation Interactive Charts Paramètre par défaut Veuillez noter qu'une fois votre sélection effectuée, elle s'appliquera à toutes les futures visites au NASDAQ. Si, à tout moment, vous êtes intéressé à revenir à nos paramètres par défaut, sélectionnez Réglage par défaut ci-dessus. Si vous avez des questions ou rencontrez des problèmes lors de la modification de vos paramètres par défaut, envoyez un courriel à isfeedbacknasdaq. Veuillez confirmer votre sélection: Vous avez choisi de modifier votre paramètre par défaut pour la recherche de devis. Ce sera maintenant votre page cible par défaut à moins que vous changiez votre configuration à nouveau, ou que vous supprimez vos cookies. Voulez-vous vraiment modifier vos paramètres? Nous avons une faveur à vous demander. Veuillez désactiver votre blocage d'annonce (ou mettre à jour vos paramètres afin de vous assurer que les cookies et les javascript sont activés) afin que nous puissions continuer à vous fournir les nouvelles de premier ordre Et des données que vous venez d'attendre de nous. Real-Time After Hours Pre-Market News Flash Quote Résumé Quote Interactive Grilles Paramètre par défaut S'il vous plaît noter qu'une fois que vous faites votre sélection, il s'appliquera à toutes les futures visites à NASDAQ. Si, à tout moment, vous êtes intéressé à revenir à nos paramètres par défaut, sélectionnez Réglage par défaut ci-dessus. Si vous avez des questions ou rencontrez des problèmes lors de la modification de vos paramètres par défaut, envoyez un courriel à isfeedbacknasdaq. Veuillez confirmer votre sélection: Vous avez choisi de modifier votre paramètre par défaut pour la recherche de devis. Ce sera maintenant votre page cible par défaut à moins que vous changiez votre configuration à nouveau, ou que vous supprimez vos cookies. Voulez-vous vraiment modifier vos paramètres? Nous avons une faveur à vous demander. Veuillez désactiver votre blocage d'annonce (ou mettre à jour vos paramètres afin de vous assurer que les cookies et les javascript sont activés) afin que nous puissions continuer à vous fournir les nouvelles de premier ordre Et les données que vous venez d'attendre de nous.


No comments:

Post a Comment