Calculando a média móvel Este VI calcula e exibe a média móvel, usando um número pré-selecionado. Primeiro, o VI inicializa dois registros de deslocamento. O registro de deslocamento superior é inicializado com um elemento e, continuamente, adiciona o valor anterior com o novo valor. Este registro de deslocamento mantém o total das últimas medições x. Depois de dividir os resultados da função de adicionar com o valor pré-selecionado, o VI calcula o valor médio móvel. O registro de deslocamento de baixo contém uma matriz com a dimensão Média. Este registro de deslocamento mantém todos os valores da medição. A função de substituição substitui o novo valor após cada loop. Este VI é muito eficiente e rápido porque usa a função de elemento de substituição dentro do loop while e ele inicializa a matriz antes de entrar no loop. Este VI foi criado no LabVIEW 6.1. Bookmark amp ShareI tem uma matriz onde os valores discretos de onda senoidal são gravados e armazenados. Quero encontrar o máximo e o mínimo da forma de onda. Uma vez que os dados de onda senoidal são tensões gravadas usando um DAQ, haverá algum ruído, então eu quero fazer uma média ponderada. Supondo que self. yArray contém meus valores de onda sinusoidal, aqui está o meu código até agora: Meu problema parece estar no segundo loop, onde, dependendo do tamanho da janela da média (filtro), quero resumir os valores na janela a seguir A média deles. Recebo um erro dizendo: Eu sou um EE com pouca experiência em programação, então qualquer ajuda seria muito apreciada, pedida 29 de maio às 18:09 Paul, obrigado pela recomendação. No entanto, deve-se notar que, embora x: y não produza um erro, ele não obteve o resultado esperado no código OP39s. O OP precisaria usar sua correção, mas com yxfiltersize e retirado do loop ou a soma deve ser removida, com a indexação xy deixada no lugar. Ndash tom10 30 de maio 13 às 17:18 tom10, eu tenho certeza de que você está certo. Minha resposta foi principalmente interrompendo a intuição sobre o problema mais provável, não estou informado sobre o domínio do problema para conhecer a precisão do algoritmo real. É por isso que encaminhei o OP para a sua resposta. Ndash Paul Woolcock 30 de maio 13 às 17:22 As outras respostas descrevem corretamente seu erro, mas esse tipo de problema realmente exige o uso de numpy. Numpy irá correr mais rápido, seja mais eficiente em memória e seja mais expressivo e conveniente para esse tipo de problema. Seu exemplo: se você não quiser usar numpy, também deve notar que há um erro lógico no seu programa que resulta no TypeError. O problema é que na linha você está usando a soma dentro do loop onde você também está calculando a soma. Então, você precisa usar a soma sem o loop, ou percorrer a matriz e adicionar todos os elementos, mas não os dois (e está fazendo ambos, ou seja, aplicar soma ao elemento da matriz indexada, que leva ao erro no primeiro Lugar, colocar). Ou seja, aqui estão duas soluções:
Disclaimer e Aviso de Risco. Por favor leia. Aviso de Risco. A negociação de câmbio na margem possui um alto nível de risco e pode não ser adequada para todos os investidores. O alto grau de alavancagem pode funcionar contra você, bem como para você. Antes de decidir investir em divisas, você deve considerar cuidadosamente seus objetivos de investimento, nível de experiência e apetite de risco. Existe a possibilidade de que você possa sustentar a perda de algum ou todo seu investimento inicial e, portanto, você não deve investir dinheiro que não pode perder. Você deve estar ciente de todos os riscos associados à negociação cambial e procurar o conselho de um consultor financeiro independente se tiver dúvidas. Isenção de responsabilidade Todas as informações postadas neste site são de nossa opinião e a opinião de nossos visitantes e podem não refletir a verdade. Use seu próprio bom julgamento e procure o conselho de um consultor qualificado, antes de acreditar e aceitar qualquer informa...
Comments
Post a Comment