Ved hjelp av MATLAB, hvordan kan jeg finne tre-dagers glidende gjennomsnitt av en bestemt kolonne av en matrise og legge til glidende gjennomsnitt i den matrisen jeg prøver å beregne tre-dagers glidende gjennomsnitt fra bunnen til toppen av matrisen. Jeg har oppgitt koden min: Gitt følgende matrise a og maske: Jeg har prøvd å implementere conv kommandoen, men jeg mottar en feil. Her er conv kommandoen jeg har prøvd å bruke på 2. kolonne av matrise a: Utgangen jeg ønsker er gitt i følgende matrise: Hvis du har noen forslag, vil jeg sette stor pris på det. Takk for kolonne 2 i matrisen a, beregner jeg 3-dagers glidende gjennomsnitt som følger og plasserer resultatet i kolonne 4 i matrise a (jeg omdøpt matrise a som 39desiredOutput39 bare for illustrasjon). 3-dagers gjennomsnittet av 17, 14, 11 er 14 det 3-dagers gjennomsnittet på 14, 11, 8 er 11 3-dagers gjennomsnittet av 11, 8, 5 er 8 og 3-dagers gjennomsnittet på 8, 5, 2 er 5. Det er ingen verdi i de nederste 2 radene for fjerde kolonne fordi beregningen for 3-dagers glidende gjennomsnitt begynner nederst. Den 39 ugyldige 39-utgangen vil ikke bli vist før minst 17, 14 og 11. Forhåpentligvis er dette fornuftig ndash Aaron 12. juni kl 13:28 Generelt vil det hjelpe hvis du vil vise feilen. I dette tilfellet gjør du to ting feil: Først må fellingen din divideres med tre (eller lengden på det bevegelige gjennomsnittet). For det andre, merk størrelsen på c. Du kan ikke bare passe inn i en. Den typiske måten å få et bevegelige gjennomsnitt på, ville være å bruke samme: men det ser ikke ut som du vil. I stedet er du tvunget til å bruke et par linjer: Jeg må beregne et glidende gjennomsnitt over en dataserie, innenfor en forløp. Jeg må få glidende gjennomsnitt over N9 dager. Array Im computing in er 4 serier av 365 verdier (M), som i seg selv er gjennomsnittsverdier for et annet sett med data. Jeg vil plotte gjennomsnittverdiene av dataene mine med det bevegelige gjennomsnittet i en tomt. Jeg googled litt om å flytte gjennomsnitt og conv kommandoen og fant noe som jeg prøvde å implementere i min kode .: Så i utgangspunktet beregner jeg mitt gjennomsnitt og plotter det med et (feil) glidende gjennomsnitt. Jeg plukket wts verdien rett utenfor mathworks nettstedet, så det er feil. (kilde: mathworks. nlhelpeconmoving-average-trend-estimation. html) Mitt problem er imidlertid at jeg ikke forstår hva dette wts er. Kan noen forklare om det har noe å gjøre med verdiene i vektene: det er ugyldig i dette tilfellet. Alle verdier er vektet det samme. Og hvis jeg gjør dette helt feil, kan jeg få litt hjelp med det Min oppriktige takk. spurte 23 september klokken 19:05 Bruk av conv er en utmerket måte å implementere et bevegelig gjennomsnitt på. I koden du bruker, er wts hvor mye du veier hver verdi (som du gjettet). summen av den vektoren skal alltid være lik en. Hvis du vil vektere hver verdi jevnt og gjøre et N-bevegelig filter, så vil du gjøre det. Ved å bruke det gyldige argumentet i conv, vil det føre til at du har færre verdier i Ms enn du har i M. Bruk det samme hvis du ikke har noe imot effekten av null polstring. Hvis du har signalbehandlingsverktøyskassen, kan du bruke cconv hvis du vil prøve et sirkulært glidende gjennomsnitt. Noe som Du burde lese conv and cconv dokumentasjonen for mer informasjon hvis du ikke allerede har. Du kan bruke filter til å finne et løpende gjennomsnitt uten å bruke en forløkke. Dette eksemplet finner det løpende gjennomsnittet av en 16-elementvektor, ved hjelp av en vindustørrelse på 5. 2) Glatt som en del av kurvefiksjonsverktøyskassen (som er tilgjengelig i de fleste tilfeller) glatter du (y) dataene i kolonnevektoren y bruker et glidende gjennomsnittsfilter. Resultatene returneres i kolonnevektoren. Standardspenningen for det bevegelige gjennomsnittet er 5.Moving-Average Filter av trafikkdata Dette eksemplet viser hvordan du kan jevne trafikkdata ved hjelp av et gjennomsiktig filter med et 4-timers skyvevindu. Følgende forskjellsligning beskriver et filter som er gjennomsnittet for gjeldende time og de tre foregående timene med data. Importer trafikkdataene og tilordne den første kolonnen av kjøretøytall til vektoren x. Opprett filterkoeffisientvektorer. Beregn 4-timers glidende gjennomsnitt av dataene, og plott både de opprinnelige dataene og de filtrerte dataene. MATLAB og Simulink er registrerte varemerker for The MathWorks, Inc. Vennligst se mathworkstrademarks for en liste over andre varemerker eid av The MathWorks, Inc. Annet produkt - eller varemerker er varemerker eller registrerte varemerker for deres respektive eiere. Velg ditt CountryDocumentation dsp. MovingAverage Systemobjekt Beskrivelse Dsp. MovingAverage System objectx2122 beregner det bevegelige gjennomsnittet av inngangssignalet langs hver kanal, uavhengig av hverandre. Objektet bruker enten glidervinduet eller eksponentiell vektingsmetode for å beregne glidende gjennomsnitt. I glidervindumetoden flyttes et vindu med spesifisert lengde over dataene, prøven etter prøve, og gjennomsnittet beregnes over dataene i vinduet. I den eksponentielle vektingsmetoden multipliserer objektet datasamplene med et sett av vektningsfaktorer. Gjennomsnittet beregnes ved å summere vektede data. For flere detaljer om disse metodene, se Algoritmer. Objektet aksepterer flerkanalsinnganger, det vil si m-by-n-størrelsesinnganger, hvor m 8805 1 og n gt 1. Objektet aksepterer også variable innganger. Når objektet er låst, kan du endre størrelsen på hver inngangskanal. Antall kanaler kan imidlertid ikke endres. Dette objektet støtter C og C-kodegenerering. For å beregne det bevegelige gjennomsnittet for inngangen: Opprett et dsp. MovingAverage-objekt og sett egenskapene til objektet. Ring trinn for å beregne det bevegelige gjennomsnittet. Merk: Alternativt, i stedet for å bruke trinnmetoden for å utføre operasjonen som er definert av Systemobjektet, kan du ringe objektet med argumenter, som om det var en funksjon. For eksempel utfører y trinn (obj, x) og y obj (x) tilsvarende operasjoner. Konstruksjon movAvg dsp. MovingAverage returnerer et bevegelige gjennomsnittsobjekt, movAvg. bruker standardegenskapene. movAvg dsp. MovingAverage (Len) setter WindowLength-egenskapen til Len. movAvg dsp. MovingAverage (Name, Value) angir flere egenskaper ved å bruke Name, Value pairs. Uspesifiserte egenskaper har standardverdier. Velg ditt land
No comments:
Post a Comment