Eu preciso calcular uma média móvel em uma série de dados, dentro de um loop for. Eu tenho que obter a média móvel em N9 dias. O array Im computing in é 4 séries de 365 valores (M), que são valores médios de outro conjunto de dados. Eu quero traçar os valores médios dos meus dados com a média móvel em um gráfico. Eu pesquisei um pouco sobre as médias móveis eo comando conv e encontrei algo que eu tentei implementar no meu código. Então, basicamente, eu computo o meu médio e plotá-lo com uma média móvel (errada). Eu escolhi o valor de wts fora do site mathworks, de modo que está incorreto. (Fonte: mathworks. nlhelpeconmoving-average-trend-estimation. html) Meu problema, porém, é que eu não entendo o que este wts é. Alguém poderia explicar Se tem algo a ver com os pesos dos valores: que é inválido neste caso. Todos os valores são ponderados da mesma forma. E se eu estou fazendo isso inteiramente errado, eu poderia obter alguma ajuda com ele Meus mais sinceros agradecimentos. September 23 14 at 19:05 Usando conv é uma excelente maneira de implementar uma média móvel. No código que você está usando, wts é o quanto você está pesando cada valor (como você adivinhou). A soma desse vetor deve ser sempre igual a um. Se você deseja pesar cada valor uniformemente e fazer um filtro de tamanho N em movimento, então você gostaria de fazer Usando o argumento válido em conv resultará em ter menos valores em Ms do que você tem em M. Use o mesmo se você não se importa os efeitos de Zero preenchimento. Se você tiver a caixa de ferramentas de processamento de sinal, você pode usar o cconv se quiser experimentar uma média móvel circular. Algo como Você deve ler a documentação conv e cconv para obter mais informações se você já não. Você pode usar o filtro para encontrar uma média em execução sem usar um loop for. Este exemplo encontra a média em execução de um vetor de 16 elementos, usando um tamanho de janela de 5. 2) suave como parte da Caixa de Ferramentas de Ajuste de Curva (que está disponível na maioria dos casos) yy suave (y) suaviza os dados no vetor de coluna Y usando um filtro de média móvel. Os resultados são retornados no vetor de coluna yy. O intervalo padrão para a média móvel é 5.Eu sou novo no Simulink. Eu quero fazer a média dos dados de entrada (que vem após alguns intervalos) de um bloco. Por exemplo, os dados emoldurados Contínuos de 42 amostras estão fora de um bloco. Juntamente com os dados emoldurados, há outra saída (tag) que informa que esses framesamples pertencem a qual categoria. As tags são números de 1-6. A saída é aleatória. Quero média a mesma categoria de dados. Como a primeira moldura é de cat1, então depois de 4 quadros frame cat1 novamente vem. Agora, como eu deveria média este novo quadro com o anterior Eu quero fazer isso para todas as categorias. Por favor, me ajude neste. Perguntou Mar 26 14 at 13:35 Uma solução rápida e suja seria a de implementar um arraylist para cada categoria. Inicialize a lista com NaNs e mantenha um contador para a última amostra de cada categoria. Usando a função média você pode obter a média de todas as medições. Se você quiser apenas a média do quadro atual e do quadro anterior, você pode simplesmente dizer (cat1 (n1) cat1 (n11)) onde cat1 é o arraylist para quadros da categoria 1 e n1 é o índice do quadro anterior em cat1 . Se você quer uma média móvel ponderada para uma implementação em tempo real, crie uma variável média para cada categoria (chamar av1, av2, etc.) e compute av1 alphaav1 (1-alfa) cat1 (n11) (onde alfa é o peso atribuído Para a média anterior (alphalt1) e cat1 (n11) é a nova medida) sempre que uma frame cat1 entra. Respondida Mar 26 14 às 17: 39Documentação Método da Média Móvel 8212 Método de valor médio Janela deslizante (padrão) Ponderação exponencial Janela deslizante 8212 Uma janela de comprimento O comprimento da janela se move sobre os dados de entrada ao longo de cada canal. Para cada amostra a janela se move, o bloco calcula a média sobre os dados na janela. Ponderação exponencial 8212 O bloco multiplica as amostras por um conjunto de factores de ponderação. A magnitude dos fatores de ponderação diminui exponencialmente à medida que a idade dos dados aumenta, nunca atingindo zero. Para calcular a média, o algoritmo soma os dados ponderados. Especifique o comprimento da janela 8212 Sinalizador para especificar o comprimento da janela em (padrão) desativado Quando você seleciona essa caixa de seleção, o comprimento da janela deslizante é igual ao valor especificado em Comprimento da janela. Quando você desmarca essa caixa de seleção, o comprimento da janela deslizante é infinito. Neste modo, o bloco calcula a média da amostra atual e todas as amostras anteriores no canal. Comprimento da janela 8212 Comprimento da janela deslizante 4 (padrão) positivo escalar inteiro O comprimento da janela especifica o comprimento da janela deslizante. Este parâmetro aparece quando você seleciona a caixa de seleção Especificar comprimento da janela. Esquecendo o fator 8212 Fator de ponderação exponencial 0,9 (padrão) real escalar real na faixa (0,1 Este parâmetro se aplica quando você define o Método para Ponderação exponencial Um fator de esquecimento de 0,9 dá mais peso aos dados mais antigos do que um fator de esquecimento de 0,1 Simples usando 8212 Tipo de simulação a ser executada Geração de código (padrão) Execução interpretada Simulação Usando código C gerado. A primeira vez que você executa uma simulação, Simulink x00AE gera código C. O código C é reutilizado para simulações subseqüentes, desde que o modelo não mude. Esta opção requer tempo de inicialização adicional, mas fornece mais rápido Simulação de modelo usando o interpretador MATLAB x00AE Esta opção reduz o tempo de inicialização, mas tem velocidade de simulação mais lenta do que o código geração . Mais Sobre Algoritmos Método de Janela Deslizante No método de janela deslizante, a saída para cada amostra de entrada é a média da amostra atual e das amostras anteriores de Len - 1. Len é o comprimento da janela. Para calcular as primeiras saídas Len - 1, quando a janela ainda não tem dados suficientes, o algoritmo preenche a janela com zeros. Como exemplo, para calcular a média quando a segunda amostra de entrada chega, o algoritmo preenche a janela com Len - 2 zeros. O vector de dados, x. É então as duas amostras de dados seguido de Len - 2 zeros. Quando você define a propriedade SpecifyWindowLength como false. O algoritmo escolhe um comprimento de janela infinito. Neste modo, a saída é a média móvel da amostra atual e todas as amostras anteriores no canal. Método de ponderação exponencial No método de ponderação exponencial, a média móvel é calculada recursivamente utilizando estas fórmulas: w N. x03BB x03BB w N x2212 1. x03BB 1. x x00AF N. x03BB (1 x2212 1w N. x03BB) xx00AF N x2212 X03BB) x N x x00AF N. x03BB 8212 Média móvel na amostra atual x N 8212 Dados atuais amostra de entrada x x00AF N x2212 1. x03BB 8212 Média móvel na amostra anterior 955 8212 Fator w N. x03BB 8212 Fator de ponderação aplicado à amostra de dados corrente (1 x2212 1 w N. x03BB) x x00AF N x2212 1. x03BB 8212 Efeito dos dados anteriores sobre a média Para a primeira amostra, onde N 1, o algoritmo escolhe w N. x03BB 1. Para a próxima amostra, o fator de ponderação é atualizado e utilizado para calcular a média, de acordo com a equação recursiva. À medida que a idade dos dados aumenta, a magnitude do factor de ponderação diminui exponencialmente e nunca atinge zero. Em outras palavras, os dados recentes têm mais influência sobre a média atual do que os dados mais antigos. O valor do fator de esquecimento determina a taxa de variação dos fatores de ponderação. Um fator de esquecimento de 0,9 dá mais peso aos dados mais antigos do que um fator de esquecimento de 0,1. Um fator de esquecimento de 1,0 indica memória infinita. Todas as amostras anteriores recebem um peso igual. Objetos do sistema Selecionar seu país Métodos de média móvel 8212 Método de média de tempo Janela deslizante (padrão) Ponderação exponencial Janela deslizante 8212 Uma janela de comprimento O comprimento da janela se move sobre os dados de entrada ao longo de cada canal. Para cada amostra a janela se move, o bloco calcula a média sobre os dados na janela. Ponderação exponencial 8212 O bloco multiplica as amostras por um conjunto de factores de ponderação. A magnitude dos fatores de ponderação diminui exponencialmente à medida que a idade dos dados aumenta, nunca atingindo zero. Para calcular a média, o algoritmo soma os dados ponderados. Especifique o comprimento da janela 8212 Sinalizador para especificar o comprimento da janela em (padrão) desativado Quando você seleciona essa caixa de seleção, o comprimento da janela deslizante é igual ao valor especificado em Comprimento da janela. Quando você desmarca essa caixa de seleção, o comprimento da janela deslizante é infinito. Neste modo, o bloco calcula a média da amostra atual e todas as amostras anteriores no canal. Comprimento da janela 8212 Comprimento da janela deslizante 4 (padrão) positivo escalar inteiro O comprimento da janela especifica o comprimento da janela deslizante. Este parâmetro aparece quando você seleciona a caixa de seleção Especificar comprimento da janela. Esquecendo o fator 8212 Fator de ponderação exponencial 0,9 (padrão) real escalar real na faixa (0,1 Este parâmetro se aplica quando você define o Método para Ponderação exponencial Um fator de esquecimento de 0,9 dá mais peso aos dados mais antigos do que um fator de esquecimento de 0,1 Simples usando 8212 Tipo de simulação a ser executada Geração de código (padrão) Execução interpretada Simulação Usando código C gerado. A primeira vez que você executa uma simulação, Simulink x00AE gera código C. O código C é reutilizado para simulações subseqüentes, desde que o modelo não mude. Esta opção requer tempo de inicialização adicional, mas fornece mais rápido Simulação de modelo usando o interpretador MATLAB x00AE Esta opção reduz o tempo de inicialização, mas tem velocidade de simulação mais lenta do que o código geração . Mais Sobre Algoritmos Método de Janela Deslizante No método de janela deslizante, a saída para cada amostra de entrada é a média da amostra atual e das amostras anteriores de Len - 1. Len é o comprimento da janela. Para calcular as primeiras saídas Len - 1, quando a janela ainda não tem dados suficientes, o algoritmo preenche a janela com zeros. Como exemplo, para calcular a média quando a segunda amostra de entrada chega, o algoritmo preenche a janela com Len - 2 zeros. O vector de dados, x. É então as duas amostras de dados seguido de Len - 2 zeros. Quando você define a propriedade SpecifyWindowLength como false. O algoritmo escolhe um comprimento de janela infinito. Neste modo, a saída é a média móvel da amostra atual e todas as amostras anteriores no canal. Método de ponderação exponencial No método de ponderação exponencial, a média móvel é calculada recursivamente utilizando estas fórmulas: w N. x03BB x03BB w N x2212 1. x03BB 1. x x00AF N. x03BB (1 x2212 1w N. x03BB) xx00AF N x2212 X03BB) x N x x00AF N. x03BB 8212 Média móvel na amostra atual x N 8212 Dados atuais amostra de entrada x x00AF N x2212 1. x03BB 8212 Média móvel na amostra anterior 955 8212 Fator w N. x03BB 8212 Fator de ponderação aplicado à amostra de dados corrente (1 x2212 1 w N. x03BB) x x00AF N x2212 1. x03BB 8212 Efeito dos dados anteriores sobre a média Para a primeira amostra, onde N 1, o algoritmo escolhe w N. x03BB 1. Para a próxima amostra, o fator de ponderação é atualizado e utilizado para calcular a média, de acordo com a equação recursiva. À medida que a idade dos dados aumenta, a magnitude do factor de ponderação diminui exponencialmente e nunca atinge zero. Em outras palavras, os dados recentes têm mais influência sobre a média atual do que os dados mais antigos. O valor do fator de esquecimento determina a taxa de variação dos fatores de ponderação. Um fator de esquecimento de 0,9 dá mais peso aos dados mais antigos do que um fator de esquecimento de 0,1. Um fator de esquecimento de 1,0 indica memória infinita. Todas as amostras anteriores recebem um peso igual. Objetos do sistema Selecione seu país
No comments:
Post a Comment