Wednesday 4 October 2017

Flytte Gjennomsnittet Hjelp Matlab


Ved hjelp av MATLAB, hvordan kan jeg finne tre-dagers glidende gjennomsnitt av en bestemt kolonne i en matrise og legge til glidende gjennomsnitt i den matrisen jeg prøver å beregne 3-dagers glidende gjennomsnitt fra bunnen til toppen av matrisen jeg har gitt min code. Given følgende matrise a og mask. I har prøvd å implementere conv kommandoen, men jeg mottar en feil. Her er conv kommandoen jeg har prøvd å bruke på den andre kolonnen av matrise a. Den utgang jeg ønsker er gitt i Følgende matrise. Hvis du har noen forslag, vil jeg sterkt sette pris på det. Takk for kolonne 2 av matrise a, beregner jeg 3-dagers glidende gjennomsnitt som følger og plasserer resultatet i kolonne 4 av matrise a jeg omdøpt matrise a som ønsket Utgang bare for å illustrere 3-dagers gjennomsnittet av 17, 14, 11 er 14 det 3-dagers gjennomsnittet av 14, 11, 8 er 11 3-dagers gjennomsnittet av 11, 8, 5 er 8 og 3-dagers gjennomsnittet av 8, 5, 2 er 5 Det er ingen verdi i de nederste 2 radene for fjerde kolonne fordi beregningen for 3-dagers glidende gjennomsnitt starter ved bunnen Den gyldige utgangen vil ikke bli vist før minst 17, 14 og 11 Forhåpentligvis er dette fornuftig Aaron 12. juni kl. 13 på 28. 28. Generelt vil det hjelpe hvis du vil vise feilen I dette tilfellet gjør du to ting feil . Først skal konvolusjonen deles opp med tre eller lengden på det bevegelige gjennomsnittet. Merk, merk størrelsen på c Du kan ikke bare passe c til en Den typiske måten å få et bevegelig gjennomsnitts ville være å bruke samme. Men det gjør det ikke se ut som du vil. I stedet er du tvunget til å bruke et par linjer.29 september, 2013. Gjennomgang av gjennomsnitt ved convolution. What er flytte gjennomsnitt og hva er det bra for. Hvordan flytter gjennomsnittet gjort ved å bruke convolution. Moving gjennomsnitt er En enkel operasjon som vanligvis brukes til å undertrykke støy av et signal, vi setter verdien av hvert punkt til gjennomsnittet av verdiene i nabolaget. Med en formel. Her er x inngangen, og y er utgangssignalet, mens vinduets størrelse er w, skulle være merkelig Formelen ovenfor beskriver en symmetrisk operasjon s Ampler er tatt fra begge sider av det aktuelle punktet. Det er et virkelighetseksempel. Punktet som vinduet er lagt faktisk er rødt. Verdier utenfor x skal være nuller. For å spille rundt og se effektene av bevegelige gjennomsnitt, ha en se på denne interaktive demonstrasjonen. Hvordan gjør du det ved convolution. As du kanskje har anerkjent, beregner det enkle glidende gjennomsnittet ligner konvolusjonen i begge tilfeller et vindu glides langs signalet og elementene i vinduet er oppsummert Så gi det er et forsøk på å gjøre det samme ved å bruke konvolusjon Bruk følgende parametre. Den ønskede utgangen er. Som første tilnærming, la oss prøve det vi får ved å samle x-signalet med følgende k-kjerne. Utgangen er nøyaktig tre ganger større enn den forventede Det kan også sees at utgangsvurderingene er sammendraget av de tre elementene i vinduet. Det er fordi under fellingen er vinduet glidet sammen, alle elementene i det blir multiplisert med en og deretter oppsummert. yk 1 cdot x 1 cdot x 1 cdot x. For å få de ønskede verdiene av y, skal utgangen divideres med 3. Med en formel inkludert divisjonen. Men det ville ikke være optimalt å gjøre avdelingen under konvolusjon. Her kommer ideen av omarrangere ligningen. Så skal vi bruke følgende k-kjerne. På denne måten vil vi få den ønskede utdata. I generell hvis vi vil flytte gjennomsnittet ved konvolusjon som har et vindu størrelse w, skal vi bruke følgende k-kjernen. A enkel funksjonen gjør det bevegelige gjennomsnittet. Et eksempel er bruk. Jeg trenger å beregne et bevegelige gjennomsnitt over en dataserie, i en for-løkke må jeg få det bevegelige gjennomsnittet over N 9 dager. Arrayet jeg beregner er 4 serie 365 verdier M, som i seg selv er middelverdier av et annet sett med data Jeg vil plotte gjennomsnittverdiene av dataene mine med det bevegelige gjennomsnittet i ett plot. Jeg googlede litt om bevegelige gjennomsnitt og conv-kommandoen og fant noe som jeg prøvde å implementere i min kode. Så i utgangspunktet beregner jeg min gjennomsnitt og plotter den med feil flytting gjennomsnitt Jeg valgte wts-verdien rett utenfor mathworks-siden, så det er feil kilde. Mitt problem er at jeg ikke forstår hva dette wts er. Kan noen forklare om det har noe å gjøre med vikene til verdiene som er ugyldige i denne saken Alle verdier er vektet det samme. Og hvis jeg gjør dette helt feil, kan jeg få litt hjelp med det. Min oppriktige takk. Skrevet 23. september kl 14 på 19 05. Bruke conv er en utmerket måte å implementere et glidende gjennomsnitt på koden du bruker, wts er hvor mye du veier hver verdi som du gjettet summen av den vektoren skal alltid være lik en Hvis du ønsker å vekt hver verdi jevnt og gjøre et størrelse N-bevegelig filter så vil du gjøre det . Ved å bruke det gyldige argumentet i conv vil resultere i å ha færre verdier i Ms enn du har i M Bruk samme hvis du ikke har tenkt på effekten av nullpolstring Hvis du har signalbehandlingsverktøyskassen, kan du bruke cconv hvis du vil prøve en sirkulær glidende gjennomsnitt Noe som. Du burde lese conv og cconv dokumentasjon for mer informasjon hvis du allerede har t. You kan bruke filter for å finne et løpende gjennomsnitt uten å bruke en for-løkke Dette eksempelet finner løpende gjennomsnitt av en 16-elementvektor, ved hjelp av en vindusstørrelse på 5.2 glatt som en del av kurven Fitting Toolbox som er tilgjengelig i de fleste tilfeller. yy glatt y glatter dataene i kolonnevektoren y ved hjelp av et glidende gjennomsnittfilter. Resultatene returneres i kolonnevektoren. Standardverdien for glidende gjennomsnitt er 5.

No comments:

Post a Comment