Jag är ny på Simulink. Jag vill göra genomsnittet av inkommande data (som kommer efter några intervall) från ett block. Exempelvis är kontinuerlig inramad data av 42 prover ute från ett block. Tillsammans med den inramade data finns en annan utdata (tagg) som berättar att dessa ramprover hör till vilken kategori. Taggar är nummer 1-6. Utmatningen är slumpmässig. Jag vill genomsnittsa samma kategoriuppgifter. Precis som den första ramen är av cat1, kommer efter 4 ramar cat1 ram igen. Nu hur ska jag genomsnitta den här nya ramen med den tidigare jag vill göra det för alla kategorier. Snälla hjälp mig i det här. frågade mar 26 14 kl 13:35 En snabb och smutsig lösning skulle vara att genomföra en arraylist för varje kategori. Initiera listan med NaNs och behåll en räknare för det sista urvalet från varje kategori. Med medelfunktionen kan du få medelvärdet av alla mätningar. Om du bara vill ha medelvärdet av den aktuella ramen och föregående ram kan du helt enkelt mena (cat1 (n1) cat1 (n11)) där cat1 är arraylisten för ramar från kategori 1 och n1 är indexet för föregående ram i cat1 . Om du vill ha ett viktat glidande medelvärde för en real-time-implementering, skapa en genomsnittlig variabel för varje kategori (kalla den av1, av2 etc.) och beräkna av1 alphaav1 (1-alfa) cat1 (n11) till föregående medelvärde (alfalt1) och cat1 (n11) är det nya mätvärdet) när en cat1-ram kommer in. svarat mar 26 14 kl 17: 39Vågat rörande medelvärde (Obsolet) Obs! Det vägda rörliga genomsnittliga blocket är föråldrat. Detta block avlägsnades från diskret biblioteket i R2008a och ersattes med Discrete FIR Filter-blocket. Existerande modeller som innehåller det viktiga rörande genomsnittliga blocket fortsätter dock att fungera för bakåtkompatibilitet. Använd Discrete FIR Filter-blocket i nya modeller. Överväg att använda slupdate-funktionen för att ersätta viktat rörligt medelvärde med diskret FIR-filter i befintliga modeller. Det vägda rörliga genomsnittliga blocket samplar och håller de N senaste inmatningarna, multiplicerar varje ingång med ett angivet värde (ges av parametern Vikter) och staplar dem i en vektor. Detta block stöder både singel-inputsingle-output (SISO) och single-inputmulti-output (SIMO) lägen. För SISO-läget anges parametern Vikter som en radvektor. För SIMO-läget anges vikterna som en matris där varje rad motsvarar en separat utgång. Du kan välja om du vill ange datatyp och skalning av vikterna i dialogrutan med parametern Gain data type. Den initiala parametern anger initialvärdena för alla tider före starttiden. Du anger tidsintervallet mellan proverna med parametern Sample time. Det vägda rörliga genomsnittsblocket först multiplicerar dess ingångar med parametern Vikter, omvandlar dessa resultat till utdatatypstypen med de angivna avrundnings - och överlöningssätten och utför sedan summeringen. Datatypstöd Det viktiga rörliga genomsnittliga blocket stöder alla numeriska datatyper som Simulink x00AE stöder, inklusive datapunkter med fast punkt. Parametrar Ange vikten för den rörliga genomsnittliga en rad per utgång. Parametern Vikter omvandlas från dubbler till den angivna datatypen offline med hjälp av omedelbar och mättnad. Ange startvärdena för alla tider före starttiden. Parametern för inledande villkor omvandlas från dubbler till inmatningstypen offline med hjälp av omedelbar och mättnad. Ange tidsintervall mellan prover. För att erhålla provtiden ställer du in denna parameter till -1. Se Ange provtid i online-dokumentationen för mer information. Utdatatyp Ange utdatatypstypen. Du kan ställa in den: En regel som ärver en datatyp, till exempel Inherit: Inherit via återförökning Namnet på ett datatypobjekt, till exempel ett Simulink. NumericType-objekt Ett uttryck som utvärderas till en datatyp, till exempel , fixdt (1,16,0) Klicka på knappen Visa datatypassistent för att visa datatypassistenten. vilket hjälper dig att ställa in parametern Output data type. Lås utmatningsskalning mot ändringar av autoskalningsverktyget Välj för att låsa skalning av utgångar mot ändringar med fastpunktsverktyget. Helhetsrundläge Avrundningsläge för fastpunktsutgången. Mer information finns i Avrundning. Mättnad till max eller min när överflöden uppstår Om mätta, överlappar fastpunkten mättas. Annars slingras de. Ange datatyp för parametern Vikter. Du kan ställa in den: En regel som ärver en datatyp, till exempel Inherit: Inherit via intern regel Namnet på ett datatypobjekt, till exempel ett Simulink. NumericType-objekt Ett uttryck som utvärderas till en datatyp, till exempel , fixdt (1,16,0) Klicka på knappen Visa datatypassistent för att visa datatypassistenten. vilket hjälper dig att ställa in parametern Gain data type. (Se Ange datatyper med hjälp av datatypassistent för mer information.) Antag att du vill konfigurera detta block för två utgångar (SIMO-läge) där den första utgången ges av y 1 (k) a 1 x22C5 u (k) b 1 x22C5 u (k x2212 1) c 1 x22C5 u (k x2212 2) den andra utgången ges av y 2 (k) en 2 x22C5 u (k) b 2 x22C5 u (k x2212 1) och initialvärdena för u - 1) och u (k - 2) ges av ic1 och ic2. respektive. För att konfigurera det viktiga rörande medelvärdet för detta fall måste du ange parametern Vikter som a1 b1 c1 a2 b2 c2 där c2 0 och parametern för inledande tillstånd som ic1 ic2. EgenskaperDokumentering Flyttande medelmetod 8212 Medelvärde Metod Skjutfönster (standard) Exponentiell viktning Skjutfönster 8212 Fönsterfönster Fönsterlängd rör sig över ingångsdata längs varje kanal. För varje prov rör sig fönstret, beräknar blocket medelvärdet över data i fönstret. Exponentiell viktning 8212 Blocken multiplicerar proverna med en uppsättning viktningsfaktorer. Storleken på viktningsfaktorerna minskar exponentiellt när åldern för data ökar, når aldrig noll. För att beräkna medelvärdet summerar algoritmen den viktiga data. Ange fönsterlängd 8212 Flagga för att ange fönsterlängd på (standard) av När du markerar den här kryssrutan är längden på glidfönstret lika med det värde du anger i Fönsterlängd. När du avmarkerar den här kryssrutan är längden på glidfönstret oändligt. I detta läge beräknar blocket genomsnittet av det aktuella provet och alla tidigare prover i kanalen. Fönsterlängd 8212 Längd på glidfönstret 4 (standard) Positivt skalärt heltal Fönsterlängden anger längden på glidfönstret. Den här parametern visas när du markerar kryssrutan Specifiera fönsterlängd. Glömma faktor 8212 Exponentiell viktningsfaktor 0,9 (standard) positiv reell skalär i intervallet (0,1 Denna parameter gäller när du ställer in metod för exponentiell viktning. En glömande faktor på 0,9 ger större vikt än den äldre data än en glömande faktor på 0,1 En förglömlig faktor på 1,0 anger oändligt minne. Alla tidigare prover har samma vikt. Denna parameter är inställbar. Du kan ändra dess värde även under simuleringen. Simulera med 8212 Typ av simulering för att köra Kodgenerering (standard) Tolkat utförande Simulera modell som använder genererad C-kod. Första gången du kör en simulering, genererar Simulink x00AE C-kod för blocket. C-koden återanvänds för efterföljande simuleringar, så länge som modellen inte ändras. Detta alternativ kräver ytterligare starttid men ger snabbare simuleringshastighet än tolkad utförande. Simulera modell med MATLAB x00AE tolk. Detta alternativ förkortar starttiden men har långsammare simuleringshastighet än kod generation. Mer om algoritmer Glidande fönstermetod I glidfönstermetoden är utmatningen för varje inmatningsexempel medelvärdet av det aktuella provet och de tidigare Len-1-proverna. Len är längden på fönstret. För att beräkna de första Len-1-utgångarna, när fönstret inte har tillräckligt med data fyller algoritmen fönstret med nollor. Som ett exempel, för att beräkna medelvärdet när det andra ingångsprovet kommer in fyller algoritmen fönstret med Len-2-nollor. Datav vektorn, x. är då de två dataproverna följt av Len-2 nollor. När du anger egenskapen SpecifyWindowLength till fel. algoritmen väljer en oändlig fönsterlängd. I detta läge är utmatningen det rörliga genomsnittet för det aktuella provet och alla tidigare prover i kanalen. Exponentiell viktningsmetod I exponentiell viktningsmetod beräknas det rörliga genomsnittet rekursivt med hjälp av dessa formler: w N. x03BB x03BB w N x2212 1. x03BB 1. x x00AF N. x03BB (1 x2212 1 w N. x03BB) x x00AF N x2212 1. x03BB (1 w N. x03BB) x N x xAFAF N. x03BB 8212 Flyttande medelvärde vid det aktuella provet x N 8212 Nuvarande dataingångsprov x x00AF N x2212 1. x03BB 8212 Flyttmedelvärde vid föregående prov 955 8212 Glömt faktor w N. x03BB 8212 Viktningsfaktor applicerad på det aktuella datasamplet (1 x2212 1 w N. x03BB) x x00AF N x2212 1. x03BB 8212 Effekt av tidigare data i medelvärdet För det första provet, där N 1 väljer algoritmen v N. x03BB 1. För nästa prov uppdateras viktningsfaktorn och används för att beräkna medelvärdet, enligt den rekursiva ekvationen. När åldern för data ökar, minskar vikten av viktningsfaktorn exponentiellt och når aldrig noll. Med andra ord har de senaste uppgifterna större inverkan på nuvarande genomsnitt än de äldre data. Värdet av den glömma faktorn bestämmer graden av förändring av viktningsfaktorerna. En glömande faktor på 0,9 ger större vikt åt de äldre data än en glömande faktor på 0,1. En glömande faktor på 1,0 indikerar oändligt minne. Alla tidigare prover ges lika vikt. Systemobjekt Välj ditt land
No comments:
Post a Comment