J'ai besoin de calculer une moyenne mobile sur une série de données, dans une boucle for. Je dois obtenir la moyenne mobile sur N9 jours. Le tableau Im calculant est 4 séries de 365 valeurs (M), qui sont elles-mêmes des valeurs moyennes d'un autre ensemble de données. Je veux tracer les valeurs moyennes de mes données avec la moyenne mobile dans une parcelle. J'ai googlé un peu sur les moyennes mobiles et la commande conv et trouvé quelque chose que j'ai essayé de mettre en œuvre dans mon code. Ainsi, fondamentalement, je calculer ma moyenne et le tracer avec une moyenne mobile (fausse). J'ai choisi la valeur wts directement sur le site mathworks, donc c'est incorrect. (Source: mathworks. nlhelpeconmoving-average-trend-estimation. html) Mon problème, c'est que je ne comprends pas ce que c'est wts est. Quelqu'un peut-il expliquer si elle a quelque chose à voir avec le poids des valeurs: qui est invalide dans ce cas. Toutes les valeurs sont pondérées de la même façon. Et si je fais ce tout à fait mal, puis-je obtenir de l'aide avec elle Mes plus sincères remerciements. L'utilisation de conv est un excellent moyen de mettre en œuvre une moyenne mobile. Dans le code que vous utilisez, wts est combien vous peser chaque valeur (comme vous avez deviné). La somme de ce vecteur doit toujours être égale à un. Si vous souhaitez pondérer chaque valeur uniformément et faire un filtre N de taille N alors vous voudriez faire L'utilisation de l'argument valide en conv entraînera à avoir moins de valeurs dans Ms que vous avez dans M. Utilisez même si vous ne vous inquiétez pas les effets de Rembourrage zéro. Si vous avez la boîte à outils de traitement du signal, vous pouvez utiliser cconv si vous voulez essayer une moyenne mobile circulaire. Quelque chose comme vous devrait lire la documentation conv et cconv pour plus d'informations si vous n'avez pas déjà. Vous pouvez utiliser le filtre pour trouver une moyenne courante sans utiliser une boucle for. Cet exemple trouve la moyenne courante d'un vecteur à 16 éléments, en utilisant une taille de fenêtre de 5. 2) lisse dans le cadre de la Boîte à outils d'ajustement de courbe (qui est disponible dans la plupart des cas) yy lisse (y) lisse les données dans le vecteur colonne Y en utilisant un filtre de moyenne mobile. Les résultats sont renvoyés dans le vecteur colonne yy. La portée par défaut pour la moyenne mobile est 5.Created sur Wednesday, 08 October 2008 20:04 Mis à jour le Jeudi, 14 Mars 2013 01:29 Écrit par Batuhan Osmanoglu Clics: 41128 Moyenne mobile dans Matlab Souvent, je me trouve dans le besoin de la moyenne Les données que je dois réduire le bruit un peu. J'ai écrit quelques fonctions pour faire exactement ce que je veux, mais matlabs construit dans la fonction de filtre fonctionne très bien aussi. Ici Ill écrire sur la moyenne 1D et 2D des données. Filtre 1D peut être réalisé en utilisant la fonction filtre. La fonction de filtre nécessite au moins trois paramètres d'entrée: le coefficient de numérateur pour le filtre (b), le coefficient de dénominateur pour le filtre (a) et les données (X) bien sûr. Un filtre de moyenne courante peut être défini simplement par: Pour les données 2D, nous pouvons utiliser la fonction Matlabs filter2. Pour plus d'informations sur la façon dont le filtre fonctionne, vous pouvez taper: Voici une mise en œuvre rapide et délibérée d'un filtre de moyenne mobile 16 par 16. Nous devons d'abord définir le filtre. Puisque tout ce que nous voulons est la contribution égale de tous les voisins, nous pouvons simplement utiliser la fonction ones. Nous divisons tout avec 256 (1616) puisque nous ne voulons pas changer le niveau général (amplitude) du signal. Pour appliquer le filtre, nous pouvons simplement dire ce qui suit: Voici les résultats pour la phase d'un interférogramme SAR. Dans ce cas, Range est dans l'axe Y et Azimuth est mappé sur l'axe X. Le filtre a une largeur de 4 pixels dans la plage et 16 pixels de largeur dans l'azimut. Moyenne Moyenne La fonction résultatmouvement (données, fenêtre, dim, option) calcule une moyenne mobile centrée des données de la matrice de données en utilisant une taille de fenêtre spécifiée dans la fenêtre L'algorithme spécifié en option. Dim et option sont des entrées optionnelles et seront par défaut 1. Les entrées option Dim et option peuvent être ignorées ou peuvent être remplacées par a. Par exemple, movingmean (données, fenêtre) donnera les mêmes résultats que movingmean (data, window, 1,1) ou movingmean (data, window ,, 1). La taille et la dimension de la matrice des données d'entrée ne sont limitées que par la taille maximale de la matrice pour votre plate-forme. Fenêtre doit être un entier et doit être impair. Si la fenêtre est égale, elle est arrondie au numéro impair inférieur suivant. La fonction calcule la moyenne mobile incorporant un point central et (fenêtre-1) 2 éléments avant et après dans la dimension spécifiée. Au niveau des bords de la matrice, le nombre d'éléments avant ou après est réduit de sorte que la taille de la fenêtre réelle est inférieure à la fenêtre spécifiée. La fonction est divisée en deux parties, un algorithme 1d-2d et un algorithme 3d. Ceci a été fait pour optimiser la vitesse de la solution, en particulier dans des matrices plus petites (c'est-à-dire 1000 x 1). De plus, plusieurs algorithmes différents du problème 1d-2d et 3d sont fournis, dans certains cas l'algorithme par défaut n'est pas le plus rapide. Cela se produit généralement lorsque la matrice est très large (c'est-à-dire 100 x 100000 ou 10 x 1000 x 1000) et la moyenne mobile est calculée dans la dimension la plus courte. La taille de l'algorithme par défaut est plus lente dépendra de l'ordinateur. MATLAB 7.8 (R2009a) Tags pour ce fichier Veuillez vous connecter pour marquer des fichiers. Veuillez vous connecter pour ajouter un commentaire ou une note. Commentaires et évaluations (8) La fonction s'occupe des extrémités en coupant la partie arrière ou en avant de la fenêtre et en passant à une moyenne mobile en amont ou en aval au lieu d'une moyenne centrée. Pour aller avec l'exemple que vous avez donné dans votre commentaire si la taille de la fenêtre est 3 alors au centre de 1 la moyenne de la fonction des données des points 1 et 2 au centre de 2 points 1, 2 et 3 sont moyennés au centre de 9 Les points 8, 9 et 10 sont moyennés et au centre de 10 (on suppose que le vecteur a 10 entrées) on fait la moyenne des points 9 et 10. Comment fonctionne movingmean avec les extrémités Commence-t-il avec une taille de fenêtre englobant seulement le point 1 à 1, puis 3 points au point 2, puis augmentant dans la taille de la fenêtre jusqu'à ce que la taille de la fenêtre soit celle spécifiée dans la saisie de la fonction Merci. Agréable et simple. Je vous remercie. Bon travail Très utile comme l'a dit Stephan Wolf. Juste ce que je cherchais. Moyenne mobile centrée qui est capable de travailler dans une parcelle sur toute la largeur, sans avoir à chercher la taille de la fenêtre du filtre et le déplacement du début. Great Accélérer le rythme de l'ingénierie et de la science MathWorks est le principal développeur de logiciels d'informatique mathématique pour les ingénieurs et les scientifiques.
No comments:
Post a Comment