[Playlisten] [Impressum und Datenschutzerklärung]

06C.2 zentrierter gleitender Mittelwert in Array


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

alsAufgabe zu normalen Beweis von Zahlen befolgten zu den Zeichenketten kommender gleitende Mittelwertwenn sieermunterte dich Gleitkomma Zahlen haben dreizehn Punkt null zweiundvierzigPunkt nullsiebzehn Punkt nulldrei Punkt null eine Welle aus lauter Gleitkomma Zahlen haben es wird von mir aus auch mit ein hundert Punkt nulldann soll es der Job sein einen gleitendenSinn zierten sogar einen zentrierten gleitenden Mittelwert zu bildennämlichgenauso viele Werte hier zu produzierenwie vor drin warendie Werte in dem Irene mich zu ersetzenund zwar so zu ersetzen dass man jeden durch den Mittelwertvon seinemVorgänger sich selbst und seine Nachfolger ersetzt also diese drei hierdavon hätte ich gerne den Mittelwert das soll der werden der zweitein dem Array was rauskommtvon diesen dreien hierdavon die Mittelwerte soll der werden bei der ersten Methodedie Daten zu glättenund immer sofort laufend Mittelwerte bildennimm sie damit rauschen sozusagen aus den Daten raus machen diesen Verlauf glatter eine ganz einfache DatenleitungPREISE soll jeweils der ganz normale Mittelwert gebildet werden sind für den aller ersten in dem Ray muss man vorsichtig sein ?? keindavordeshalb für dich da einfach mit anderer Richtung arbeitennämlich dass man sachlich hab keinen der vor?? okay dann nehme ich den ersten Mai zwei ??den mal zwei plus den durch dreiden ersten Mal zwei plus den nächsten dann durch drei Teil so zu tun als ob der erste doppelt vorkämewie eine ganz billige Maßnahme was ich daraus reden kann mir natürlich genauso der allerletztemir den allerletzten ?? mit dem Ergebnis zu kriegen?? billige Maßnahme ich nehme denallerletzten von der Eingabemit doppelten Gewichtund den davor mit einfachen Gewichtaddieren durch drei teilendarf hätte ich gerne Funktion eine Funktion die eine Rave von double nimmtund die Anzahl der double-Zahl da drinund die Sache so umbautdass danach derzentriertegleitenden Mittelwert drin stehtso eine Funktionsie müssen ?? müssen aufpassen am Anfang und am Ende müssen sie aufpassenundman muss aufpassenwenn man die neuen Werte hier erzeugtdas man nicht mit den neuen Werten sofort weiter rechnen sondern mit den alten Werten weitere ?? Klammer zu Wissen auffassen sehen vergleichtman das mal anzuschreiben wie diese Fusion aussehen Deklarationnicht schleifenmüsste sich dadurch gehensolche Geschichtensichert aber ständig vor das werden Messwertemir meine Zeitund jetzt habe ich Messwertedas sind die Zahlen hier ankommen eine Reihe von Messwertenziemlich rauschten Messwertenund der gleitende Mittelwertsorgt eben dafür dass dieses Voraussetzungbisschen weggeht dass ich glatter dadurch gehe in dem ich immeraus drei aufeinanderfolgendendas Mittel Bilder damit unterdrücke quasi das Rauschen in den Messwertenokaywir brauchen ein Rave von doubledouble Aindie eckigen Klammern ohne Zahl drin ich möchte dass der Compiler selbst herausfinden ?? sein müssen zumindest das kann der C-Compiler immerhinden Schweifklammer gebenwomit initialisiert werden soll was soll zu Beginn in den Ray drin stehen schreib es irgendwelche Fantasiewerteund die Frage aufkam sie sind die Dezimalzahlenhier haben ein dezimal Punktdeshalb hat das mit ?? Komma dazwischenund sie zu ärgern kommt jetzt kein Semikolon dazwischen zwischen die einzelnen Zahlensondern Kommawas mit deutschen Zahlen nicht Dinge nicht mit wir schreiben zehn Komma nullObst ?? hatte zwei Zeit zehn und nullmüssen alsounbedingt auf die englische Art schreiben alles andere wirdeine mittlere Katastrophe produzierenzehn Punkt soll und so weiter und so weiter Jetzt habe ich eine Rayund klar war auch für müssen der Männer for-Schleife durchnicht vergessen dass die Variablemit der die for-Schleife der durch X wird die Laufvariabledass die auch irgendwo eingeführt werden muss deshalb da das in Siam ich würde in der for-Schleifedie normalenFälle behandelnund die schwierigen Fälle rausnehmenaus der for-Schleifedie normalen Fälle das heißtich fang mit dem Index Nummer eins ansie anguckenwas sie ist der Index Nummer nullder vorderste nehme der ist der Index Nummer nullder nächster den Index Nummer eins dann kommt der Index Nummer zweiund der hier hatAnzahl minus eins etwas wichtiges geschickt hinschreiben soll schreibe hier mal Anzahl minus einsKlammer zu wenn sie direkt vondrei hundert Einträgen haben der ersten Nummer nur der letzte Nummer zwo hundert neunundneunzigstesführt am Anfang immer zur Verwirrungoft bei Wontorraals das professionell man das durcheinanderbringtsich um die Einzel vertut als ich wird in der for-Schleife die normalen abwickeln des geht vom Index eins bis zum Indexanzahlminus zweidas sind die Normalfällevom Index einsund jetzt wie lange soll die Schleife laufenbis Anzahl minus zwei sind keine Anzeichen?? hinkriegen Baumann variable Anzahlund den C würde man wirklich diese Anzahl immer mit reichensie wäre jetztirgendwo bei meinen Messungenaus meiner Meßroutine käme sie mit rauswird eine Ray kriegenund ich für diese einseitigen von der Meßroutinetun einfach so das kommt irgendwo herwir tun so also wenn ich wissen was da drin stehthier muss dann stehen Anzahlminus wie viel?? kleine Anzahl minus eins kleine Anzahl in den letzten dabeidennder letzte ist jamit der Nummer Anzahl minus einsdas wichtigste was man Erzählherrnmuss und den C sprach wenn Sie so schreiben haben sieam Ende alle dabei sie haben den ersten ausgelassenenhat die Nummer nullam Ende haben sie alle dabei denn der letzte ?? die Gleichanzahlminus eins?? letzten auslassen will muss ich ?? schreiben Anzahl minus einsder Gilde nur bis Anzahl minus zweiund dann in einer Schritten durch C plus plusdas wäre jetzt das regulärewas in der Schleife ihr passierensollteich möchte mir also einen Eintrag nehmenich möchte mir den Vorgängern ebenfalls in der Reihenfolgerichtig geschrieben ich möchte mir den Vorgänger nehmenund ich möchte mir den Nachfolger nehmenPluswar von I plus einsdavon den Mittelwert bildendurch drei Komma nullund eigentlicheigentlich möchte ich das jetzt wiederin das Gerät zurückschreibendessenRay nun geglättete Werte stehenso würde ich das eigentlich schreiben wollen das wäre aber nicht der normalezentriertegleitende Mittelwertsondern im Zweifelsfall irgend ein Murksmerkt man nur wenn man recht genau den Kopf trotzdem ist dasMurks das Problem istdass sie wenn sich in das er sei wieder reinschreibendiesen Wert für den nächsten Schleifendurchgangverändern das nicht mehr der Originalwerteinem Bildich rechneden aus zum Beispielden mit der Nummer eins rechtlich aus als Mittelwert von den Rheinund jetzt will ich den ausrechnendann habe ich nicht mehr die zweiundvierzigda stehen um den auszurechnen?? ich hab den ?? drinstehenich hab meine Ray an der Stelle kaputt gemacht im Weg steht nicht mehr die zwei vierzig drin ich einen neuen Wert reingeschriebendas wenn ich den auf dieselbe Weise ausrechnen wie geraderechtliche mit der zweiundvierzigsondern schon mit einem Mittelwertdas ist nicht das was es werden sollwie kann man sichda raus finden dass der Ärger nicht passierterster vorschlagwilligeneine Kopie von Amy Ryan auf der groß Maschine okaywenn ich ?? hundert achten zwanzig Byte Speicher habe nicht okayoder unsereMegabyte großes wird man's auch nicht versuchen man muss nicht das äh Kopieren?? könntest du das wäre ein korrekte Lösung aber das wäre ebenAufwand anPlatz und Aufwand an Zeitalternative Idee wardas man sichmerktwelchen man überschreibtbevor ich den hier über schreibe ich das ja ausrechnen den neun an der Stelle eins bevor ich den über schreibe merke ich mir denund benutze den gemärktenfür den nächstennicht die neuen aus dem Rayich merke mir den Wertden ich überschreiben werde das war der GedankedasZüge zu machen istbevor ich ?? die über schreibemal sehenich formuliere mal gerade wassind B ist noch nicht eingeführt ?? noch passierenbevor ich überschreibemerke ich mir aber dieund beim nächsten Malist das dieser hierda setz ich den wieder eindas heißt ich müsste diesesBvor der Schleife einführenund natürlich mit irgendwelchen Werten fürsowaswowdas gibt jetzt zusätzliche Hinwendungmal probierenbeim aller ersten Durchgang in dieser Schleife steht in BEA von nullausgesehendamit was falsch gemacht und ich würde zur schreiben mit A voneins ich brauche das will ich noch mehr Variablen anscheinendsehr unschön ist auch noch Variabledieser gleichfalls oder vernünftig benennen??nur wissen wie's geht??ich speichere mirden Wert den ich überschreiben werde jetzt in einer Variable namens Cund merke mir danndieses zehn eine Variable namens BO je nächster Versuch einer zu Fuß durch Denken in B steht der Wert ganz am Anfang in C steht Blödsinn plötzlich initialisiertes kommt der erste Eintrag den ich ausrechnen will das ist der ?? Nummer ein Zimmerei aus eine der zweitenden will ich jetzt ausrechnenspeichere mir den ICE das macht nichts kaputtich benutze Bwar der Eintrag mit der Nummer null trennen und den Mittelwert zu berechnen A von ihr ist jetzt also tatsächlich richtig der Mittelwert aus dem mit der Nummer null der Nummer eins und der Nummer zwei?? den mit der Nummer eins habe ich mir in C gespeichert es jetzt in Bethlehemist der Durchgang ist gleich zweiich merke mir die Nummer zwei in Cin B ist der mit der Nummer eins drin habe ich mir eben gemerktNummer zwei Nummer drei sieht das richtig auswas mir gerade auffälltist das für die eine Ausnahmesituationdamit schon erledigt habenich ganze Schleife bei null anfangen lassenim zuletzt den ersten richtigwenn ich mit Null anfangein der Schleifebei den ersten will ich ja?? mit der Nummer null soll ich sagen bei dem vordersten in dieser in diesem Array bei dem mit der Nummer null welcher den aller ersten Eintrag hier die Nummer null zwei mal drin habenin der Summeihren sie mit der Nummer null in B drinnenist nullich wurde aber von null nach C reinhabe ich in B den mit der Nummer null ist die Nummer nullzwei ?? mit der Nummer null und einmal den mit Nummer einsdas heißt ich rechne tatsächlich sogar am Anfang das richtigeam Ende habe ich leider noch keine Chance ich kann ?? nicht das minus eins weglassen weil ich über das Ende des RS hinausgehen würdedamals weisen bisschen bastelndass es interessant sie sind aber das jetzt weiter diskutiert das man es leicht verständlicher machen kann sind sie wird nur innerhalb der Schleife benötigtes sich C nicht initialisiertund installieren muss war schon eingutes Zeichendas Zeder draußen gar nicht benötigt wirdwenn Sitze hier drinnen bauenjedem Schleifendurchgangneu dann sieht das schon etwas übersichtlicheraus Sees also einfache Hilfsvariablebevor ich was Neues in das Innere hinein schreibe merke ich mir was in dem ?? drinnen warund B ist dann tatsächlich der alte Wertder Werte misst man in Cgroß W schreiben normalerweiseWertanZinsen auch in ungeschickter Namen nennen was Doppelist Variable ausKomma Oxid JerryWirbelin der Tat das B muss dann natürlich noch deralte Wert werdenNolte in der Listeden merke ich mir ein alter Wertich rettet denjenigenden ich gleich überschreiben werde in der Listeberechnete Mittelwertund der alte Wert ist nun derjenige der an der Stelle gestanden hat und der wird beim nächsten Mal da wieder eingesetztHausaufgabe manches einmal aufBeistrich haarsträubendam Ende der Schleife der fehlt jetzt noch der allerletzte wird noch nicht richtig gesetzt?? bisschen bastelndannwas mir jetzt noch fehlt ist ArtvonRaphonanzahlminus eins das ist der letzte in der Liste der letzten im Razor Designletzte nehme David ?? nicht behandeltsehenI geht bis ans ?? minus zweiA von Anzahl minus ein setzt sich nieder in der letzten muss ich noch bauenwie bauen Sie den allerletztenG folgender VorschlagA vonAnzahlminuseins mal zwei der soll doppelt Gewicht haben ich hab jetzt ganz brav zwei Punkt null um klarzumachen ?? Gleitkomma ZeitGlossarvonAnzahlminus zweidurch drei Komma nulldas war der Vorschlaggenau damit dasselbe Problem noch mal Ar von Anzahl minus zwei habe ich ?? im letzten Durchgang der Schleife hierletzte Durchgang der Schleifedie gleiche Anzahl minus zweiden jährlichen letzten Durchgang der Schleife gesetzt das ist nicht mehr der richtige Wert dann nämlich jetzt alter Wert da muss der richtige Wert drinstehenwowso könnt es allmählich aussehenum das mal zu testen glaube ich nämlich oder ?? Komma hinter gemachter oben das wäre sogar erlaubter hinten Komma in der zu machendass man das so trotzdemund das tut es nämlich mal andere Werte dass man wirklich mal sehen kann immer maleins Komma nullzwei Komma null drei Komma null das kann ich noch im Kopf rechnennunhundert zwei Komma null drei Komma nullsechs Komma nullKomma nullacht Komma null mal zehnunter den sechs Stück nicht mehr fünf Stückspannt aber das mit dem eingestelltenChip auch bauen kann oder ob ich nur solche traurigen GleitkommaaufgezogenGooglesausführen bis Cursorund der spannende Momentich wollte rechnenam Anfangzwei mal eins Komma nullplus zweidividiert durchdrei sind eins Komma drei geht nebenbei sehen Sie wie ungenaudiese Gleitkomma Zahlen hier sind das sind nur zwei dreißig bittige damals auf diesem Systemwas sonst als flott durchgeht das es schon sehr ungenau wenn sie damitdannirgendwelche katt Probleme lösen wollen wo's aufMikrometer ankommtwenn es so Metern dann wird bisschen schwierigwaren so der nächsteeins Komma null und zwei Komma null und drei Komma null der gleitende Mittelwert aus diesen dreiensollte zwei Komma null seinals runter als rauf okayder gleitende Mittelwert aus diesen dreienmuss es auch nachrechnen zwei plus drei sind fünf plus sechs sind elf elf durch drei?? elf durch dreidrei zwei Drittel der Haut inder gerade Mittelwert aus denenneun und siebenmit sechzehn durch dreifünf ein Drittel Haut tauchensechs sieben acht die sieben Licht in der Messe es kommt genau sieben raus und die letzten beiden Spezialfallwar das wieder die letzten beiden aber die rechnet zweimal achtens sechzehnplus die sieben sind dreiundzwanzigdreiundzwanzigdurchdreiCapo vierundzwanzigsieben zwei Drittel stimmt tatsächlichso konnte das aussieht und damit habe ich dieses RE nicht kopiertsind dann der Speicherplatz eng istmuss man mehr Nachdenken und mehr testendie sichere Lösung immer genug Speicherplatz hatweder dieses Gerät zu kopierenund diedurch eine effizientere Lösung was den Speicherplatz angeht ist so zu arbeitender ehrgeizigensich massiv Programmierfehlereinfangenist ja nun wirklich haarsträubend kompliziert was da stehtalso bekommen ?? Komma höhere Zahlen gerade an weil dass sie den Debugger komisch ausnämlichmehr Distanz als noch in Ordnungich geh mal hier bis zum Ende durchdas sieht außerdem zwei schwereder Mittelwert aus elf und dreizehn und siebzehn eins Komma drei sechs sechs nicht wirklichder Ärger ist dafür doch was sind das wichtigste fehlt in hinten E-Plus einsmal zehn hoch eins sehr raffiniert von dem Systempassen nicht ins Boxhorn jagen lassen eine Stelleja wohl die Frage kannan dieser Stelleda wo das FA auf diese Weise bekannte sich wer sich in Details geht an dieser Stelle kann man in Cmit einem Hack tatsächlich die Größe raus finden Sie können schreiben sei es aufäh durchZeiss auf und dann Klammernden Typ doublewie viele Bytes braucht das Gerätan Speicherplatzdas es sei's aufHaardurch wie viele Bytes braucht ein Eintrag an Speicherplatzein Doppelmassentypist das in runden Klammernnatürliche nicht sei's oft insindes auf dieser Maschinesechzehn bis zwei Bytesdouble ist auf dieser Maschinevier Bytestypischerweise sind acht weitere ?? dieser Maschine sind dabei vier Bytes das einzige was anders raus je nachdem ob sie Internet aber nehmen sie müssen durch die Größe eines Eintrags teilen Beistrich zeigen mirdass er das dann außerhalb ist tutund auch nichtsei's auf natürlichneundasser sie in gleich sechs wenn sie hierdurch sei's oft ?? mitgeteilthätten müssten sie zwölf rauskriegen was Blödsinn wäreich für das sie aber nichtso ?? sagen nicht in den Vordergrund stellen wollen es hilft einem später dann nicht so wirklichimmer nirgends ein herrenlose ?? hatkann man es nicht mehr so machen an dieser Stelle geht's aber im allgemeinen geht's dann nicht mehr in zehnich zeig ?? Komma wie das mit der Funktion aus sehralso eine Funktion die heißgleitendeMittelwertund Bedingungsgleiten aus was also tutirgendwas kommt davorirgendwas kommt da rein hier in die runden Klammerndas noch als Gedanken zu Raysund jetzt will ich das hier in meine FunktionpackenSchleifeund hier den Sonderfall für den letzten?? dass meine Funktion packenihr Dichtefunktion aufrufen gleiten der Mittelwertirgendwas reinKomma was raussodieGröße hierdarauf lenken warganzLastbassistauf schadesowie Verzierungen das jetzt hier die Funktion gleitende Mittelwert dass wir insgesamtfür alle Anwendungsfällemal Sonderfunktion geschrieben haben wir uns einen gleitenden Mittelwert liefertwir sagen eine Ray aus gleitenden Mittelwertenliefertoder liefert sie eigentlich wirklich das Gerät sehen Vergleichwas schreiben SiedahinVorschlag vor dem gleitenden Mittelwert ein doublewas sagen Sie wenn sie davor doppelt schreibenmit diesem double würden Sie sagen ich gebe eine einzigeGleitkomma Zeit zurück sowie hier die Funktion Maineeine einzige ganze Zahl zurückgibt dritter nulldas ganz Nichtsein begeben nicht eine einzige Zahl zurückwir müssen irgendwas ganz anders tunum sie zu irritieren darauf wollte ich hinaus um sie zu irritierendas wird heut werdenJohn steht nichts von wegen gleichdiese Funktion scheintscheint nicht zurückzugebensie nimmt das FAüben sie das jetzt hinschreibensind gleich wie das mit dem Wortclubsind das FA beschreiben Sie das in ?? übergeben dasden Fall das Gerät selbst double Haar mit eckigen Klammernund war das C istKomma noch die Längenentanzahlso sehr das dann typischerweise in C aus?? bei den Zeichenketten sind okay es gibt noch andere Tricks man könnte in diesem Bereich einfach an das Ende besondere Zahl schreibendass es haarsträubend lieber nichtin C werden sie die Anzahl mit übergeben müssenübergeben also zwei Sachen und hier sage ich okay es warwohl die eckigen Klammern um sie zu ärgernund die Anzahlso sähe das aus das wäre jetztmeinFunktionsaufrufdarunddas wird jetzt absurderweisefunktionieren nicht gebe anscheinendnichts zurückmeine Funktion glich das Training die Anzahl ?? ich gebe anscheinend nichts zurückwarum funktioniert das trotzdemich Firma vorher passiertjedochdurch mein Hauptprogramm durch jeden einzelnen Schrittenansahsodas es unser REmit den mehr oder minder dumm werden am Anfang jetzt rufe ich diese Funktion aufund sie widerstehen die neuen Werte drin ich bin in der Mailfunktiones ändert sich was in dem Bereich stehtdas ist das Wesentliche an der Reis an der Stellewenn sie ein Recht übergeben beging der später ausführliche Zeiger wenn sie ein ?? übergeben übergeben sie eigentlich nurwo das Ding steht im Speicherwenn meine Funktion hierdiesem Dreimaster ankommt was antuttut es den selben Stellen im im Speicher was anin denen das ursprünglich gespeichert worden istdass es bei der variablen Anzahl anders wenn sie hier zur variablen Anzahl was Antonmerkt außerhalb keiner was davon labert sich auf der Kopieaber dieses Revier kommt nicht in Kopieich verweise auf die selben Speicher stellendas heißtdie Änderung die ich vorgenommen habe in meiner Funktion die sind jetzthier sichtbar tatsächlichist geändert worden des Gerätes ist nicht mehr das Original Array das Gerät ist geändert wordendas ist wesentliche Botschaft an dieser Stellebesonders erneut den noch mit den Variablennamenklarmachendass es hier A heißthat nichts damit zu tun und dass das hier Anzahl heißt hat auch nichts damit zu tun was Odessa klarmachen in dem ich das hier malinX nenne überall X nennees hat nichts mit dem Namen zu tunmirüber Matrix zu ärgernin dieser Funktionjetzt als mit X R unter Tanzsaal schreibe ich malenden?? das oft falsch verstanden wird es hat nichtsalle ?? es hat nichts mit den Variablennamenzu tun?? Zeit das normal das selbe passiertmit ?? wird so undda stehendie Mittelwerte drinwas passiert ist folgendesbei diesem Funktionsaufruferfährt meine Funktionwo dieses Recht steht im Speicherdas wird übergebenwo stehen meine Zahlen im Speicherund diese Anzeige kriegt es wirklich echt als Zahlidentischer Variabledie Zahl wird in das en rein kopiert man lokale Variable eingehobenund hier obenwirddie Adresse im Speicher rein kopiert und ich arbeite an denselben Stellen im Speicherich hab das selber welche oben das ich beackert ??dieselben Bits im Speicherdass es am Anfang etwas verwirrend beging der Sommer meinen Freund dannausführlich