Średnia ważona ruchoma matlab simulink


Muszę obliczyć średnią kroczącą dla serii danych w pętli for. Muszę uzyskać średnią kroczącą powyżej N9 dni. Tablica Im computing in to 4 serie 365 wartości (M), które same są wartościami średnimi innego zestawu danych. Chcę wykreślić średnie wartości moich danych za pomocą średniej ruchomej na jednym wykresie. Wyszukałem trochę informacji o przenoszeniu średnich i komendach conv i znalazłem coś, co próbowałem implementować w swoim kodzie. W zasadzie obliczyłem swoją średnią i narysowałem ją za pomocą (niewłaściwej) średniej kroczącej. Wybrałem wartość wts bezpośrednio na stronie mathworks, więc jest to nieprawidłowe. (źródło: mathworks. nlhelpeconmoving-average-trend-estimation. html) Mój problem polega jednak na tym, że nie rozumiem, co to jest. Ktoś mógłby wyjaśnić, jeśli ma coś wspólnego z wagami wartości: w tym przypadku jest to nieważne. Wszystkie wartości są ważone tak samo. A jeśli robię to całkowicie nie tak, czy mogę uzyskać pomoc w tym zakresie Moje najszczersze podziękowania. pytanie 23 września 14 o 19:05 Korzystanie z conv to doskonały sposób na wprowadzenie średniej kroczącej. W kodzie, którego używasz, wts jest tym, ile ważysz każdej wartości (jak zgadłeś). suma tego wektora powinna zawsze być równa jednej. Jeśli chcesz ważyć równomiernie każdą wartość i wykonać filtr przesuwający o rozmiarze N, to zechcesz. Użycie poprawnego argumentu conv spowoduje, że masz mniej wartości w Ms niż w M. Użyj tego samego, jeśli nie masz nic przeciwko efektom zero padding. Jeśli masz zestaw narzędzi do przetwarzania sygnałów, możesz użyć cconv, jeśli chcesz wypróbować średnią ruchomą kołową. Coś jak Ty powinieneś przeczytać dokumentację conv i cconv, aby uzyskać więcej informacji, jeśli już tego nie zrobiłeś. Możesz użyć filtru, aby znaleźć średnią bieżącą bez użycia pętli for. W tym przykładzie znajduje się średnia bieżąca z 16-elementowego wektora, używając okna o wielkości 5. 2) gładka jako część Przybornika dopasowania krzywej (która jest dostępna w większości przypadków) yy gładka (y) wygładza dane w wektorze kolumny y przy użyciu filtra średniej ruchomej. Wyniki są zwracane w wektorze kolumny yy. Domyślny zakres średniej kroczącej to 5. Jestem nowy w Simulink. Chcę zrobić średnią z przychodzących danych (która nadchodzi po pewnych interwałach) z jednego bloku. Na przykład dane ciągłe w ramce 42 próbek wychodzi z jednego bloku. Wraz z ramkami danych jest inne wyjście (tag), które mówi, że te klatki należą do jakiej kategorii. Tagi to liczby od 1-6. Wynik jest losowy. Chcę uśrednić dane tej samej kategorii. Podobnie jak pierwsza klatka jest z cat1, to po 4 klatkach pojawia się klatka cat1. Teraz, jak powinienem uśrednić tę nową ramkę z poprzednią, chcę to zrobić dla wszystkich kategorii. Proszę, pomóż mi w tym. Zapytany 26 marca 14 o 13:35 Szybkim i brudnym rozwiązaniem byłoby zaimplementowanie listy tablic dla każdej kategorii. Zainicjuj listę za pomocą NaN i zachowaj licznik dla ostatniej próbki z każdej kategorii. Za pomocą średniej funkcji można uzyskać średnią wszystkich pomiarów. Jeśli chcesz tylko średnią z aktualnej klatki i poprzedniej klatki, możesz po prostu zrobić (cat1 (n1) cat1 (n11)), gdzie cat1 jest listą układów dla klatek z kategorii 1 i n1 jest indeksiem poprzedniej klatki w cat1 . Jeśli chcesz mieć ważoną średnią kroczącą do realizacji w czasie rzeczywistym, utwórz średnią zmienną dla każdej kategorii (nazwij ją av1, av2 itd.) I oblicz av1 alphaav1 (1-alpha) cat1 (n11) (gdzie alfa jest przypisaną wagą do poprzedniej średniej (alphalt1) i cat1 (n11) jest nowym pomiarem) za każdym razem, gdy pojawi się klatka cat1. odpowiedź Mar 26 14 o 17: 39 Metoda średniej kroczącej dokumentacji 8212 Metoda uśredniania Okno przesuwne (domyślne) Waga wykładnicza Okno przesuwne 8212 Okno długości Długość okna przesuwa się nad danymi wejściowymi wzdłuż każdego kanału. Dla każdej próbki przesuwającej się okienka, blok oblicza średnią z danych w oknie. Ważenie wykładnicze 8212 Blok mnoży próbki przez zestaw czynników ważących. Wielkość czynników ważących maleje wykładniczo wraz ze wzrostem wieku danych, nigdy nie osiągając zera. Aby obliczyć średnią, algorytm sumuje ważone dane. Określ długość okna Flaga 8212, aby określić długość okna na (domyślnie) wyłączona Po wybraniu tego pola długość okna przesuwnego jest równa wartości określonej w polu Długość okna. Po wyczyszczeniu tego pola wyboru długość przesuwanego okna jest nieskończona. W tym trybie blok oblicza średnią bieżącej próbki i wszystkich poprzednich próbek w kanale. Długość okna 8212 Długość okna przesuwnego 4 (domyślnie) dodatnia liczba całkowita skalarna Długość okna określa długość przesuwanego okna. Ten parametr pojawia się po zaznaczeniu pola wyboru Określ długość okna. Zapomnienie o współczynniku 8212 Wykładniczy współczynnik ważenia 0,9 (domyślnie) dodatni rzeczywisty skalar w zakresie (0,1 Ten parametr ma zastosowanie przy ustawianiu metody do wykładniczej ważenia, współczynnik zapomnienia o wartości 0,9 oznacza większą wagę dla starszych danych niż współczynnik zapomnienia o wartości 0,1 Współczynnik zapomnienia równy 1,0 oznacza nieskończoną pamięć Wszystkie poprzednie próbki mają jednakową wagę Ten parametr można przestroić Możesz zmienić jego wartość nawet podczas symulacji Symuluj używając 8212 Typ symulacji do uruchomienia Generowanie kodu (domyślnie) Interpretowane wykonanie Symulacja model wykorzystujący wygenerowany kod C. Podczas pierwszego symulacji Simulink x00AE generuje kod C dla bloku Kod C jest ponownie wykorzystywany do kolejnych symulacji, o ile model się nie zmienia. Ta opcja wymaga dodatkowego czasu uruchamiania, ale zapewnia szybszą Prędkość symulacji w porównaniu z interpretacją Wykonaj symulację modelu za pomocą interpretera MATLAB x00AE Ta opcja skraca czas uruchamiania, ale ma wolniejszą prędkość symulacji niż kod pokolenie. Więcej o algorytmach Metoda przesuwania okna W metodzie przesuwanego okna wynik dla każdej próbki wejściowej jest średnią z bieżącej próbki i poprzednich próbek Len - 1. Len to długość okna. Aby obliczyć pierwsze wyjścia Len - 1, gdy okno nie ma jeszcze wystarczających danych, algorytm wypełnia okno zerami. Na przykład, aby obliczyć średnią, gdy pojawi się druga próbka wejściowa, algorytm wypełnia okno zerami Len - 2. Wektor danych, x. są to dwie próbki danych, a następnie zera Len - 2. Po ustawieniu właściwości SpecifyWindowLength na wartość false. algorytm wybiera nieskończoną długość okna. W tym trybie wyjście jest średnią ruchomą bieżącej próbki i wszystkich poprzednich próbek w kanale. Metoda ważenia wykładniczego W metodzie wykładniczej ważenia średnia ruchoma jest obliczana rekurencyjnie z wykorzystaniem następujących formuł: 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 x00AF N. x03BB 8212 Średnia ruchoma w bieżącej próbce x N 8212 Prąd wejściowy danych próbka x x00AF N x2212 1. x03BB 8212 Średnia ruchoma przy poprzedniej próbce 955 8212 Zapomnienie o współczynniku N. x03BB 8212 Współczynnik wagowy zastosowany do bieżącej próbki danych (1 x2212 1 w N. x03BB) x x00AF N x2212 1. x03BB 8212 Wpływ poprzednich danych na średnią Dla pierwszej próbki, gdzie N 1, algorytm wybiera w N. x03BB 1. Dla następnej próbki współczynnik ważenia jest aktualizowany i wykorzystywany do obliczenia średniej, zgodnie z równaniem rekursywnym. Wraz ze wzrostem wieku danych, współczynnik ważenia zmniejsza się wykładniczo i nigdy nie osiąga wartości zero. Innymi słowy, ostatnie dane mają większy wpływ na bieżącą średnią niż dane starsze. Wartość współczynnika zapominania określa szybkość zmian współczynników ważenia. Współczynnik zapominania wynoszący 0,9 daje większą wagę dla starszych danych niż współczynnik zapomnienia równy 0,1. Współczynnik zapominania równy 1,0 oznacza nieskończoną pamięć. Wszystkie poprzednie próbki mają jednakową wagę. Obiekty systemowe Wybierz swój krajDokumentacja Metoda średniej ruchomej 8212 Metoda uśredniania Okno przesuwne (domyślnie) Waga wykładnicza Okno przesuwne 8212 Okno długości Długość okna przesuwa się nad danymi wejściowymi wzdłuż każdego kanału. Dla każdej próbki przesuwającej się okienka, blok oblicza średnią z danych w oknie. Ważenie wykładnicze 8212 Blok mnoży próbki przez zestaw czynników ważących. Wielkość czynników ważących maleje wykładniczo wraz ze wzrostem wieku danych, nigdy nie osiągając zera. Aby obliczyć średnią, algorytm sumuje ważone dane. Określ długość okna Flaga 8212, aby określić długość okna na (domyślnie) wyłączona Po wybraniu tego pola długość okna przesuwnego jest równa wartości określonej w polu Długość okna. Po wyczyszczeniu tego pola wyboru długość przesuwanego okna jest nieskończona. W tym trybie blok oblicza średnią bieżącej próbki i wszystkich poprzednich próbek w kanale. Długość okna 8212 Długość okna przesuwnego 4 (domyślnie) dodatnia liczba całkowita skalarna Długość okna określa długość przesuwanego okna. Ten parametr pojawia się po zaznaczeniu pola wyboru Określ długość okna. Zapomnienie o współczynniku 8212 Wykładniczy współczynnik ważenia 0,9 (domyślnie) dodatni rzeczywisty skalar w zakresie (0,1 Ten parametr ma zastosowanie przy ustawianiu metody do wykładniczej ważenia, współczynnik zapomnienia o wartości 0,9 oznacza większą wagę dla starszych danych niż współczynnik zapomnienia o wartości 0,1 Współczynnik zapomnienia równy 1,0 oznacza nieskończoną pamięć Wszystkie poprzednie próbki mają jednakową wagę Ten parametr można przestroić Możesz zmienić jego wartość nawet podczas symulacji Symuluj używając 8212 Typ symulacji do uruchomienia Generowanie kodu (domyślnie) Interpretowane wykonanie Symulacja model wykorzystujący wygenerowany kod C. Podczas pierwszego symulacji Simulink x00AE generuje kod C dla bloku Kod C jest ponownie wykorzystywany do kolejnych symulacji, o ile model się nie zmienia. Ta opcja wymaga dodatkowego czasu uruchamiania, ale zapewnia szybszą Prędkość symulacji w porównaniu z interpretacją Wykonaj symulację modelu za pomocą interpretera MATLAB x00AE Ta opcja skraca czas uruchamiania, ale ma wolniejszą prędkość symulacji niż kod pokolenie. Więcej o algorytmach Metoda przesuwania okna W metodzie przesuwanego okna wynik dla każdej próbki wejściowej jest średnią z bieżącej próbki i poprzednich próbek Len - 1. Len to długość okna. Aby obliczyć pierwsze wyjścia Len - 1, gdy okno nie ma jeszcze wystarczających danych, algorytm wypełnia okno zerami. Na przykład, aby obliczyć średnią, gdy pojawi się druga próbka wejściowa, algorytm wypełnia okno zerami Len - 2. Wektor danych, x. są to dwie próbki danych, a następnie zera Len - 2. Po ustawieniu właściwości SpecifyWindowLength na wartość false. algorytm wybiera nieskończoną długość okna. W tym trybie wyjście jest średnią ruchomą bieżącej próbki i wszystkich poprzednich próbek w kanale. Metoda ważenia wykładniczego W metodzie wykładniczej ważenia średnia ruchoma jest obliczana rekurencyjnie z wykorzystaniem następujących formuł: 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 x00AF N. x03BB 8212 Średnia ruchoma w bieżącej próbce x N 8212 Prąd wejściowy danych próbka x x00AF N x2212 1. x03BB 8212 Średnia ruchoma przy poprzedniej próbce 955 8212 Zapomnienie o współczynniku N. x03BB 8212 Współczynnik wagowy zastosowany do bieżącej próbki danych (1 x2212 1 w N. x03BB) x x00AF N x2212 1. x03BB 8212 Wpływ poprzednich danych na średnią Dla pierwszej próbki, gdzie N 1, algorytm wybiera w N. x03BB 1. Dla następnej próbki współczynnik ważenia jest aktualizowany i wykorzystywany do obliczenia średniej, zgodnie z równaniem rekursywnym. Wraz ze wzrostem wieku danych, współczynnik ważenia zmniejsza się wykładniczo i nigdy nie osiąga wartości zero. Innymi słowy, ostatnie dane mają większy wpływ na bieżącą średnią niż dane starsze. Wartość współczynnika zapominania określa szybkość zmian współczynników ważenia. Współczynnik zapominania wynoszący 0,9 daje większą wagę dla starszych danych niż współczynnik zapomnienia równy 0,1. Współczynnik zapominania równy 1,0 oznacza nieskończoną pamięć. Wszystkie poprzednie próbki mają jednakową wagę. Obiekty systemowe Wybierz swój kraj

Comments