Im nicht suren der korrekten Lösung zwar, da das Summieren des Durchschnittes jeder Probe einen angemessenen Betrag des Rundungsfehlers einführen würde. Hmm Ich frage mich, wenn die Trennung der gebrochenen Teil aus dem ganzen Teil helfen würde. Teilen Sie den ganzen Teil jeder Zahl durch den Zähler. Halten Sie drei laufende Summen: 1) der Durchschnitt der ganzen Teile, 2) der Rest von jeder Division und 3) der Bruchteil einer jeden Zahl. Jedes Mal, wenn der ganze Teil einer Zahl geteilt wird, wird das gesamte Teilergebnis zu der durchschnittlichen laufenden Summe addiert, und der Rest wird zu der verbleibenden laufenden Summe addiert. Wenn die verbleibende laufende Summe einen Wert größer oder gleich dem Zählwert erhält, wird sein dividiert durch die Zählung mit dem gesamten Teilergebnis zu der durchschnittlichen laufenden Summe addiert, und der Rest wird zu der restlichen laufenden Summe addiert. Auch wird bei jeder Berechnung der Bruchteil zur Bruchlaufsumme addiert. Wenn die Mittelung beendet ist, wird die verbleibende laufende Summe durch die Zählung geteilt, und das Ergebnis wird der durchschnittlichen laufenden Summe als eine fließende Zahl hinzugefügt. Zum Beispiel: Was nun mit der gebrochenen laufenden Summe zu tun ist. Die Gefahr des Überlaufs ist hier viel weniger wahrscheinlich, obwohl es noch möglich ist, so dass man damit umgehen würde, wäre es, die gebrochene laufende Summe durch den Zähler am Ende aufzuteilen und es zu unserem Ergebnis hinzuzufügen: Eine Alternative wäre, den fraktionalen Betrieb zu überprüfen Summe bei jeder Berechnung, um zu sehen, ob sie größer oder gleich count ist. Wenn das passiert, tun Sie einfach das Gleiche, was wir mit der restlichen Summe machen. Excellent Jomit Vaghela 6-Mar-07 21:00 Ich mochte, was Sie gesagt haben kleine Jobs schnell zu großen Arbeitsplätzen. Denken an Optimierung während Codierung ist eine gute Praxis. Gibt an, dass die Größe der Datenmatrix-Daten unter Verwendung einer Fenstergröße, die im Fenster in Dim Dimension angegeben ist, unter Verwendung des in Option angegebenen Algorithmus berechnet wird. 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. 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 (8) Die Funktion befasst sich mit Enden, indem sie den nachlaufenden oder führenden Teil des Fensters beschneiden und zu einem anfänglichen oder nachlaufenden gleitenden Durchschnitt anstelle eines zentrierten Bildes übergehen. Um mit dem Beispiel zu gehen, das Sie in Ihrem Kommentar gegeben haben, wenn die Fenstergröße 3 ist, dann in einer Mitte von 1 die Funktion Mittelwerte von Daten von den Punkten 1 und 2 an einer Mitte von 2 Punkten 1, 2 und 3 werden in einer Mitte von 9 gemittelt Die Punkte 8, 9 und 10 werden gemittelt und in einer Mitte von 10 (angenommen, der Vektor hat 10 Einträge) werden die Punkte 9 und 10 gemittelt. 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, dann Erhöhung in Fenstergröße bis die Fenstergröße ist, die in der Funktionseingabe spezifiziert ist, beginnen Danke. 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. Große Beschleunigung des Tempo der Ingenieur-und Wissenschaft MathWorks ist der führende Entwickler der mathematischen Computing-Software für Ingenieure und Wissenschaftler. Thread: Berechnung einer einfachen rollenden gleitenden Durchschnitt mit VB 2010 berechnen einen einfachen rollenden gleitenden Durchschnitt mit VB 2010 mein Code erzeugt eine Variable mit einer Spalte Von Zahlen wie folgt: Was ich tun möchte, ist VB verwenden, um mir den Durchschnitt für jede x Anzahl von Zeilen, und dann speichern, dass in einem anderen var, und dann VB drucken die MAX und MIN dieser Mittelwerte. Zum Beispiel, wenn ich den Durchschnitt für alle 10 Zeilen zu berechnen: 5248 5249 5258 5251 5247 5246 525 5228 5235 525 5246 5241 5245.7 5240 5244.5 5261 5245.7 so können Sie sehen, dass ab dem 10. Datensatz der Durchschnitt berechnet wird Für Datensätze 1-10, dann 2-11, dann 3-12, dann 4-13, dann 5-14, dann 6-15 Der MAX-Durchschnitt ist 5246,4 und der MIN ist 5243,7, wenn ich den Durchschnitt für jede 5 erhalten wollte (ZB), dann würde der erste Durchschnitt den Durchschnitt von 1-5, dann 2-6, dann 3-7 und so weiter, was ist der beste Weg, um dies zu kalkulieren, um den gleitenden Durchschnitt und finden Sie auch die MAX Und MIN von diesem Durchschnitt Re: Berechnen einer einfachen rollenden gleitenden Durchschnitt mit VB 2010 Er meinte genau das, was er sagte: Er hat eine einzelne Zeichenfolge Variable mit all jene Werte in ihm durch NewLine Zeichen getrennt. Es wäre möglich, diese Variable und Split auf der Newline nehmen, um es in eine Reihe von Zahlen in einer Reihe von Zeichenfolgen, die dann in eine Reihe von Ganzzahlen umgewandelt werden könnte brechen, aber ich denke immer noch, es wäre besser, nicht zu haben Variable zu beginnen. Meine normale langweilig Signatur: Nothing Re: Berechnung einer einfachen rollenden gleitenden Durchschnitt mit VB 2010 zustimmen mit shaggy, id verwenden eine Liste (von Integer) anstelle einer Variablen mit mehreren Zeilen mit 1 Integer pro Zeile. Die Liste wäre am vielseitigsten es würde mit dem Code funktionieren würde ich gepostet. Re: Berechnen einer einfachen gleitenden gleitenden Durchschnitt mit VB 2010 Ich habe eine Schleife, um die Zeichenfolge mit den Zahlen kommen in wie die Daten aufgerufen wird nun der Code sieht wie folgt aus: Das Problem mit dem Code ist 1) Ich kann nicht erhalten M60c zu existieren Außerhalb der Schleife (zeigt nur den letzten Wert, und 2) Ich weiß nicht, wie diese Daten zu speichern, wie es kommt als eine Reihe von Ganzzahlen, wenn ich manuell Werte eingeben, wo ist der Code funktioniert sonst ist es nicht mehr Einblick Dank für die Antwort
No comments:
Post a Comment