Tuesday, November 8, 2016

Beweglichkeit 2d Matlab

Erstellt am Mittwoch, den 08. Oktober 2008 um 20:04 Uhr Zuletzt aktualisiert am Donnerstag, den 14. März 2013 um 01:29 Uhr Geschrieben von: Batuhan Osmanoglu Zugriffe: 38870 Moving Average In Matlab Häufig finde ich mich in der Notwendigkeit der Mittelung der Daten, die ich habe, um das Rauschen ein wenig zu reduzieren Bit. Ich schrieb paar Funktionen, um genau das tun, was ich will, aber Matlabs in Filter-Funktion gebaut funktioniert auch ziemlich gut. Hier schreibe ich über 1D und 2D Mittelung von Daten. 1D-Filter kann mit der Filterfunktion realisiert werden. Die Filterfunktion erfordert mindestens drei Eingangsparameter: den Zählerkoeffizienten für den Filter (b), den Nennerkoeffizienten für den Filter (a) und natürlich die Daten (X). Ein laufender Mittelwertfilter kann einfach definiert werden: Für 2D-Daten können wir die Funktion Matlabs filter2 verwenden. Für weitere Informationen, wie der Filter funktioniert, können Sie eingeben: Hier ist eine schnelle und schmutzige Implementierung eines 16 von 16 gleitenden durchschnittlichen Filters. Zuerst müssen wir den Filter definieren. Da alles, was wir wollen, gleicher Beitrag aller Nachbarn ist, können wir einfach die Funktion verwenden. Wir teilen alles mit 256 (1616), da wir nicht den allgemeinen Pegel (Amplitude) des Signals ändern wollen. Zur Anwendung des Filters können wir einfach sagen, die folgenden Unten sind die Ergebnisse für die Phase eines SAR-Interferogramms. In diesem Fall ist der Bereich in der Y-Achse und der Azimut auf der X-Achse abgebildet. Der Filter war 4 Pixel breit im Bereich und 16 Pixel breit im Azimut. MATLAB, wie finde ich den dreitägigen gleitenden Durchschnitt einer bestimmten Spalte einer Matrix und füge den gleitenden Durchschnitt zu dieser Matrix ein Ich versuche, den dreitägigen gleitenden Durchschnitt von unten nach oben der Matrix zu berechnen. Ich habe meinen Code: Angesichts der folgenden Matrix a und Maske: Ich habe versucht Umsetzung der conv Befehl, aber ich erhalte einen Fehler. Hier ist der Befehl conv, den ich versucht habe, auf der 2. Spalte der Matrix a zu verwenden: Die Ausgabe, die ich wünsche, wird in der folgenden Matrix gegeben: Wenn Sie irgendwelche Vorschläge haben, würde ich es sehr schätzen. Vielen Dank für die Spalte 2 der Matrix a, ich bin die Berechnung der 3-Tage gleitenden Durchschnitt wie folgt und platziert das Ergebnis in Spalte 4 der Matrix a (Ich umbenannt Matrix a als 39desiredOutput39 nur für Abbildung). Der 3-tägige Durchschnitt von 17, 14, 11 ist 14 der dreitägige Durchschnitt von 14, 11, 8 ist 11 der 3-tägige Durchschnitt von 11, 8, 5 ist 8 und der 3-Tage-Durchschnitt von 8, 5, 2 ist 5. Es gibt keinen Wert in den unteren 2 Zeilen für die 4. Spalte, da die Berechnung für den dreitägigen gleitenden Durchschnitt am unteren Ende beginnt. Die 39valid39 Ausgabe wird nicht angezeigt werden, bis mindestens 17, 14 und 11. Hoffentlich macht dies Sinn ndash Aaron 12 August, In diesem Fall tun Sie zwei Dinge falsch: Zuerst muss Ihre Faltung durch drei (oder die Länge der gleitenden Durchschnitt) geteilt werden Zweitens beachten Sie die Größe von c. Sie können nicht einfach passen c in eine. Der typische Weg, um einen gleitenden Durchschnitt wäre, um die gleiche: aber das sieht nicht wie Sie wollen. Stattdessen sind Sie gezwungen, ein paar Zeilen zu verwenden: Der Wissenschaftler und Ingenieure Leitfaden für digitale Signalverarbeitung Von Steven W. Smith, Ph. D. Wie der Name andeutet, arbeitet das gleitende Mittelfilter durch Mittelung einer Anzahl von Punkten von dem Eingangssignal, um jeden Punkt im Ausgangssignal zu erzeugen. In Gleichung ist dies geschrieben: Wo ist das Eingangssignal, ist das Ausgangssignal und M ist die Anzahl der Punkte im Mittelwert. Beispielsweise ist bei einem 5-Punkt-Gleitmittelfilter Punkt 80 im Ausgangssignal gegeben durch: Alternativ kann die Gruppe von Punkten aus dem Eingangssignal symmetrisch um den Ausgangspunkt gewählt werden: Dies entspricht der Änderung der Summation in Gl . 15-1 von: j 0 bis M -1, bis: j - (M -1) / 2 bis (M -1) / 2. Zum Beispiel wird in einem 10-Punkt-gleitenden Durchschnittsfilter der Index j. Kann von 0 bis 11 (einseitige Mittelung) oder -5 bis 5 (symmetrische Mittelung) laufen. Symmetrische Mittelung erfordert, dass M eine ungerade Zahl ist. Die Programmierung ist etwas einfacher mit den Punkten auf nur einer Seite, jedoch ergibt sich eine relative Verschiebung zwischen den Eingangs - und Ausgangssignalen. Sie sollten erkennen, dass das gleitende Durchschnittsfilter eine Faltung mit einem sehr einfachen Filterkern ist. Zum Beispiel hat ein 5-Punkt-Filter den Filterkern: 82300, 0, 1/5, 1/5, 1/5, 1/5, 1/5, 0, 08230. Das heißt, das gleitende Mittelfilter ist eine Faltung Des Eingangssignals mit einem Rechteckimpuls mit einer Fläche von Eins. Tabelle 15-1 zeigt ein Programm zur Implementierung des gleitenden Durchschnittsfilters. Dokumentation tsmovavg output tsmovavg (tsobj, s, lag) gibt den einfachen gleitenden Durchschnitt für das finanzielle Zeitreihenobjekt tsobj zurück. Verzögerung gibt die Anzahl der vorherigen Datenpunkte an, die beim Berechnen des gleitenden Mittelwerts mit dem aktuellen Datenpunkt verwendet werden. Ausgabe tsmovavg (Vektor, s, lag, dim) gibt den einfachen gleitenden Durchschnitt für einen Vektor zurück. Verzögerung gibt die Anzahl der vorherigen Datenpunkte an, die beim Berechnen des gleitenden Mittelwerts mit dem aktuellen Datenpunkt verwendet werden. Output tsmovavg (tsobj, e, timeperiod) gibt den exponentiellen gewichteten gleitenden Durchschnitt für das finanzielle Zeitreihenobjekt tsobj zurück. Der exponentielle gleitende Durchschnitt ist ein gewichteter gleitender Durchschnitt, wobei die Zeitperiode den Zeitraum angibt. Exponentielle gleitende Durchschnitte reduzieren die Verzögerung durch mehr Gewicht auf die jüngsten Preise. Zum Beispiel gewichtet ein 10-Perioden-exponentieller gleitender Durchschnitt den jüngsten Preis um 18,18. Exponentialprozent 2 / (TIMEPER 1) oder 2 / (WINDOWSIZE 1). Output tsmovavg (Vektor, e, timeperiod, dim) gibt den exponentiell gewichteten gleitenden Durchschnitt für einen Vektor zurück. Der exponentielle gleitende Durchschnitt ist ein gewichteter gleitender Durchschnitt, wobei die Zeitperiode den Zeitraum angibt. Exponentielle gleitende Durchschnitte reduzieren die Verzögerung durch mehr Gewicht auf die jüngsten Preise. Zum Beispiel gewichtet ein 10-Perioden-exponentieller gleitender Durchschnitt den jüngsten Preis um 18,18. (2 / (Zeitabschnitt 1)). Ausgabe tsmovavg (tsobj, t, numperiod) gibt den dreieckigen gleitenden Durchschnitt für das finanzielle Zeitreihenobjekt tsobj zurück. Der dreieckige gleitende Durchschnitt doppelt glättet die Daten. Tsmovavg berechnet den ersten einfachen gleitenden Durchschnitt mit Fensterbreite von ceil (numperiod 1) / 2. Dann berechnet es einen zweiten einfachen gleitenden Durchschnitt auf dem ersten gleitenden Durchschnitt mit der gleichen Fenstergröße. Ausgabe tsmovavg (Vektor, t, numperiod, dim) gibt den dreieckigen gleitenden Durchschnitt für einen Vektor zurück. Der dreieckige gleitende Durchschnitt doppelt glättet die Daten. Tsmovavg berechnet den ersten einfachen gleitenden Durchschnitt mit Fensterbreite von ceil (numperiod 1) / 2. Dann berechnet es einen zweiten einfachen gleitenden Durchschnitt auf dem ersten gleitenden Durchschnitt mit der gleichen Fenstergröße. Ausgabe tsmovavg (tsobj, w, Gewichte) gibt den gewichteten gleitenden Durchschnitt für das finanzielle Zeitreihenobjekt tsobj zurück. Indem Gewichte für jedes Element in dem sich bewegenden Fenster bereitgestellt werden. Die Länge des Gewichtsvektors bestimmt die Größe des Fensters. Wenn größere Gewichtungsfaktoren für neuere Preise und kleinere Faktoren für frühere Preise verwendet werden, ist der Trend eher auf die jüngsten Veränderungen ansprechen. Ausgabe tsmovavg (Vektor, w, Gewichte, dim) gibt den gewichteten gleitenden Durchschnitt für den Vektor zurück, indem Gewichte für jedes Element in dem sich bewegenden Fenster geliefert werden. Die Länge des Gewichtsvektors bestimmt die Größe des Fensters. Wenn größere Gewichtungsfaktoren für neuere Preise und kleinere Faktoren für frühere Preise verwendet werden, ist der Trend eher auf die jüngsten Veränderungen ansprechen. Output tsmovavg (tsobj, m, numperiod) gibt den modifizierten gleitenden Durchschnitt für das finanzielle Zeitreihenobjekt tsobj zurück. Der modifizierte gleitende Durchschnitt ist ähnlich dem einfachen gleitenden Durchschnitt. Betrachten Sie das Argument numperiod als die Verzögerung des einfachen gleitenden Mittelwerts. Der erste modifizierte gleitende Durchschnitt wird wie ein einfacher gleitender Durchschnitt berechnet. Nachfolgende Werte werden durch Addition des neuen Preises und Subtrahieren des letzten Durchschnitts aus der resultierenden Summe berechnet. Ausgabe tsmovavg (Vektor, m, numperiod, dim) gibt den modifizierten gleitenden Durchschnitt für den Vektor zurück. Der modifizierte gleitende Durchschnitt ist ähnlich dem einfachen gleitenden Durchschnitt. Betrachten Sie das Argument numperiod als die Verzögerung des einfachen gleitenden Mittelwerts. Der erste modifizierte gleitende Durchschnitt wird wie ein einfacher gleitender Durchschnitt berechnet. Nachfolgende Werte werden durch Addition des neuen Preises und Subtrahieren des letzten Durchschnitts aus der resultierenden Summe berechnet. Dim 8212 Dimension, um auf positive ganze Zahl mit dem Wert 1 oder 2 arbeiten Dimension zu arbeiten, als eine positive Ganzzahl mit einem Wert von 1 oder 2 angegeben. Dim ist ein optionales Eingabeargument, und wenn es nicht als eine Eingabe enthalten ist, die Standardeinstellung Wert 2 wird angenommen. Der Standardwert von dim 2 gibt eine zeilenorientierte Matrix an, wobei jede Zeile eine Variable ist und jede Spalte eine Beobachtung ist. Wenn dim 1. die Eingabe als Spaltenvektor oder spaltenorientierte Matrix angenommen wird, wobei jede Spalte eine Variable und jede Zeile eine Beobachtung ist. E 8212 Indikator für exponentiell gleitenden durchschnittlichen Charaktervektor Der exponentielle gleitende Durchschnitt ist ein gewichteter gleitender Durchschnitt, wobei der Zeitabschnitt der Zeitraum des exponentiellen gleitenden Durchschnitts ist. Exponentielle gleitende Durchschnitte reduzieren die Verzögerung durch mehr Gewicht auf die jüngsten Preise. Zum Beispiel gewichtet ein 10-Perioden-exponentieller gleitender Durchschnitt den jüngsten Preis um 18,18. Exponentialprozent 2 / (TIMEPER 1) oder 2 / (WINDOWSIZE 1) Zeitintervall 8212 Länge der Zeitperiode nichtnegative Ganzzahl Wählen Sie Ihr CountryMoving Average Funktion resultmovingmean (data, window, dim, option) berechnet einen zentrierten gleitenden Durchschnitt der Datenmatrixdaten mit Hilfe von a Fenstergröße in Fenster in Dim Dimension, mit dem Algorithmus in der Option angegeben. Dim und Option sind optionale Eingänge und werden standardmäßig auf 1. Dim und option optionale Eingänge können ganz übersprungen werden oder können durch a ersetzt werden. Beispielsweise gibt movingmean (data, window) die gleichen Ergebnisse wie movingmean (data, window, 1,1) oder movingmean (data, window ,, 1). Die Größe und Dimension der Eingabedatenmatrix ist nur durch die maximale Matrixgröße für Ihre Plattform begrenzt. Das Fenster muss eine ganze Zahl sein und sollte ungerade sein. Wenn das Fenster gerade ist, wird es auf die nächstniedrigere ungerade Zahl abgerundet. Die Funktion berechnet den gleitenden Durchschnitt mit einem Mittelpunkt und (Fenster-1) / 2 Elementen vor und nach der angegebenen Dimension. An den Rändern der Matrix wird die Anzahl der Elemente vor oder nachher reduziert, so dass die tatsächliche Fenstergröße kleiner als das angegebene Fenster ist. Die Funktion ist in zwei Teile, ein 1d-2d-Algorithmus und ein 3D-Algorithmus gebrochen. Dies wurde getan, um die Lösungsgeschwindigkeit zu optimieren, insbesondere in kleineren Matrizen (d. H. 1000 x 1). Ferner werden mehrere verschiedene Algorithmen für das Problem 1d-2d und 3d bereitgestellt, da in bestimmten Fällen der Standardalgorithmus nicht der schnellste ist. Dies geschieht typischerweise, wenn die Matrix sehr breit ist (d. h. 100 x 100000 oder 10 x 1000 x 1000), und der gleitende Durchschnitt wird in der kürzeren Dimension berechnet. Die Größe, bei der der Standardalgorithmus langsamer ist, hängt vom Computer ab. MATLAB 7.8 (R2009a) Tags für Diese Datei Bitte anmelden, um Tags zu speichern. Bitte melden Sie sich an, um einen Kommentar oder eine Bewertung hinzuzufügen. Kommentare und Bewertungen (7) Wie bewegt sich movingmean mit den Enden? Fängt es mit einer Fenstergröße an, die nur Punkt 1 bei 1, dann 3 Punkte bei Punkt 2 und dann Erhöhung der Fenstergröße bis zu der Fenstergröße, die in der Funktionseingabe angegeben ist, umfasst Vielen Dank. Nett und einfach. Vielen Dank. Gute Arbeit Sehr nützlich, wie Stephan Wolf sagte. Gerade was ich lookin für war. Zentrierter gleitender Durchschnitt, der in der Lage ist, in einem Diagramm über die gesamte Breite zu arbeiten, ohne die Fenstergröße des Filters zu betrachten und den Anfang zu bewegen. Great MathWorks Beschleunigung der Geschwindigkeit der Technik und Wissenschaft MathWorks ist der führende Entwickler der mathematischen Computing-Software für Ingenieure und Wissenschaftler.


No comments:

Post a Comment