Sunday 26 November 2017

C # Moving Average Queue


Se o desempenho deste código é crítico, então poderia fazer sentido para evitar alocações de pilha para Candle s. Acho que a maneira mais razoável de fazer isso seria fazer Candle em uma estrutura. Embora os tipos de valores mutáveis ​​sejam maus. Então eu também refatorar Candle para ser imutável. Isso também significa que a implementação de newestCandle teria que mudar, provavelmente em um par de campos duplos (ou, alternativamente, uma classe mutable e resettable separada). Eu não vejo nenhum outro problema potencial de desempenho em seu código. Mas quando se trata de desempenho, você deve sempre confiar em perfis, não a sua intuição (ou alguém elses). Além disso, eu não gosto de alguns nomes de seus métodos. Especificamente: ValueUpdated. Nomes de métodos geralmente devem estar no formulário fazer algo, não aconteceu algo. Então eu acho que um nome melhor seria UpdateValue. Adicionar. Modificar. Estas são as duas operações fundamentais de seu MovingAverage e eu acho que esses nomes não expressam o significado bem. Gostaria de chamá-los algo como MoveAndSetCurrent e SetCurrent. respectivamente. Embora tal nomeação indique que as operações fundamentais devem ser bastante Move e SetCurrent. Eu tenho um programa de registro de dados científicos que eu tenho vindo a desenvolver para um número de anos agora. Agora precisamos adicionar alguma funcionalidade para que produza uma média móvel dos dados coletados. Eu posso criar uma fila de myDataClass para fazer o buffer de fifo, mas eu queria saber o que a melhor maneira de fazer a média pode ser. Como você pode ver a partir do exemplo de código abaixo, myDataClass contém várias estruturas de dados, algumas das quais podem ser calculadas e algumas que não podem (por exemplo, a string). A principal questão é saber se existe uma maneira fácil de conseguir isso ou preciso escrever código para cada item dentro da classe myDataClass ou devo redesenhar myDataClass Obrigado. Pessoalmente, eu criaria uma classe quotDataQueue (de MyDataClass) que dequeue próprio se a contagem na fila passar 10 itens. Desta forma, você nunca terá que cuidar do número de itens na fila do seu código, isso será cuidar de dentro da classe de fila Marcado como resposta por Mike Feng Moderador quarta-feira, 20 de julho de 2011 13:56 Terça-feira, julho 12, 2011 9:40 AM Depois de um pouco mais de investigação, acho que encontrei a solução para você. Você pode usar o método CopyTo para copiar os itens à esquerda na fila para uma matriz. Esteja ciente de que eu não calcular a média, eu só mostrou como você pode obter a base de seus cálculos, mas que é apenas adicionar seus próprios cálculos baseados em torno de sua regra de negócios para isso. Marcado como resposta por Mike Feng Moderador quarta-feira, 20 de julho de 2011 13:56 sexta-feira, 15 de julho de 2011 5:16 Baseado na minha compreensão, sua exigência é algo como isto: Este é os dados na fila: myDataClass1. Dataadbl 2.1 datastr quotsomeString1quot dataarraydbl uma matriz dupla myDataClass2. Datadbl 3.5 datastr quotsomeString2quot dataarraydbl uma matriz dupla myDataClass10. Dataadbl 9.1 datastr quotsomeString10quot dataarraydbl uma matriz dupla Agora, você deseja calcular o número médio de feeds datadbl em cada objeto myDataClass e obter o número médio de dataground. Se assim for, eu sugiro que você faça a mesma coisa que Crazypenie sugeriu: construir uma nova classe chamada DataQueue: Espero que isso seja útil, se eu tiver entendido mal qualquer coisa, sinta-se livre para me informar. Mike Feng MSFT MSDN Suporte da comunidade Feedback para nós Obtenha ou solicite um exemplo de código da Microsoft Lembre-se de marcar as respostas como respostas se elas ajudarem e desmarcarem se não fornecerem nenhuma ajuda. Marcado como resposta por Mike Feng Moderador quarta-feira, 20 de julho de 2011 13:55 sexta-feira, 15 de julho de 2011 03:33 Graças Cor, eu poderia fazê-lo assim, mas myDataClass é realmente muito grande eo sistema de log pode ser executado para Um longo tempo por isso é mais eficiente para mim lixo cópias da classe que eu realmente não precisa para calcular a média. A fila parecia a maneira mais fácil de conseguir isso. Minha principal questão é, como é que a média de uma classe como esta estou recebendo a sensação de que eu vou precisar para escrever o código que faz isso especificamente para cada tipo de dados no myDataClass. Classe pública myDataClass Terça-feira, julho 12, 2011 10:40 AM Baseado na minha compreensão, sua exigência é algo como isto: Este é os dados na fila: myDataClass1. Dataadbl 2.1 datastr quotsomeString1quot dataarraydbl uma matriz dupla myDataClass2. Datadbl 3.5 datastr quotsomeString2quot dataarraydbl uma matriz dupla myDataClass10. Dataadbl 9.1 datastr quotsomeString10quot dataarraydbl uma matriz dupla Agora, você deseja calcular o número médio de feeds datadbl em cada objeto myDataClass e obter o número médio de dataground. Se assim for, eu sugiro que você faça a mesma coisa que Crazypenie sugeriu: construir uma nova classe chamada DataQueue: Espero que isso seja útil, se eu tiver entendido mal qualquer coisa, sinta-se livre para me informar. Mike Feng MSFT MSDN Suporte da comunidade Feedback para nós Obtenha ou solicite um exemplo de código da Microsoft Lembre-se de marcar as respostas como respostas se elas ajudarem e desmarcarem se não fornecerem nenhuma ajuda. Marcado como resposta por Mike Feng Moderador quarta-feira, 20 de julho de 2011 13:55 sexta-feira, 15 de julho de 2011 3:33 Média média móvel média média de movimento simples Você é encorajado a resolver esta tarefa de acordo com a descrição da tarefa, usando qualquer idioma que você conhecer. Calculando a média móvel simples de uma série de números. Crie um functioncloisstance stateful que leva um período e retorna uma rotina que leva um número como argumento e retorna uma média móvel simples de seus argumentos até agora. Uma m�ia m�el simples �um m�odo para calcular uma m�ia de um fluxo de n�eros calculando apenas a m�ia dos �timos n�eros de 160 P 160 a partir do fluxo 160, em que 160 P 160 �conhecido como o per�do. Ele pode ser implementado chamando uma rotina de iniciação com 160 P 160 como argumento, 160 I (P), 160 que deve retornar uma rotina que, quando chamada com membros individuais, sucessivos de um fluxo de números, calcula a média de Para), os últimos 160 P 160 deles, permite chamar este 160 SMA (). A palavra 160 stateful 160 na descrição da tarefa refere-se à necessidade de 160 SMA () 160 lembrar certas informações entre as chamadas para ela: 160 O período, 160 P 160 Um contêiner ordenado de pelo menos os últimos 160 P 160 números de cada um dos Suas chamadas individuais. Stateful 160 também significa que chamadas sucessivas para 160 I (), 160 o inicializador, 160 devem retornar rotinas separadas que não 160 não compartilham o estado salvo para que possam ser usadas em dois fluxos de dados independentes. Pseudo-código para uma implementação de 160 SMA 160 é: Esta versão usa uma fila persistente para conter os valores p mais recentes. Cada função retornada de init-moving-average tem seu estado em um átomo contendo um valor de fila. Esta implementação usa uma lista circular para armazenar os números dentro da janela no início de cada ponteiro de iteração refere-se à célula de lista que contém o valor apenas movendo para fora da janela e para ser substituído com o valor apenas adicionado. Usando um fechamento editar Atualmente esta sma não pode ser nogc porque ele aloca um encerramento no heap. Alguma análise de escape pode remover a alocação de heap. Usando uma edição de estrutura Esta versão evita a alocação de heap do fechamento mantendo os dados no quadro de pilha da função principal. Mesmo resultado: Para evitar que as aproximações de ponto flutuante sigam se acumulando e crescendo, o código poderia executar uma soma periódica em toda a matriz de filas circulares. Esta implementação produz dois estados de compartilhamento de objetos (função). É idiomático em E separar a entrada da saída (ler a partir da escrita) em vez de combiná-los em um único objeto. A estrutura é a mesma que a implementação do Desvio PadrãoE. O programa elixir abaixo gera uma função anônima com um período embutido p, que é usado como o período da média móvel simples. A função de execução lê entrada numérica e passa para a função anônima recém-criada e, em seguida, inspeciona o resultado para STDOUT. A saída é mostrada abaixo, com a média, seguida pela entrada agrupada, formando a base de cada média móvel. Erlang tem fechamentos, mas variáveis ​​imutáveis. Uma solução então é usar processos e uma simples mensagem passando API baseada. As linguagens de matriz têm rotinas para calcular os avarages de deslizamento para uma dada seqüência de itens. É menos eficiente para loop como nos comandos a seguir. Solicita continuamente uma entrada I. Que é adicionado ao final de uma lista L1. L1 pode ser encontrado pressionando 2ND1, ea média pode ser encontrada em ListOPS Pressione ON para terminar o programa. Função que retorna uma lista contendo os dados médios do argumento fornecido Programa que retorna um valor simples em cada invocação: list é a média da lista: p é o período: 5 retorna a lista média: Exemplo 2: Usando o programa movinav2 (i , 5) - Inicializando o cálculo da média móvel e definindo o período de 5 movinav2 (3, x): x - novos dados na lista (valor 3), e o resultado será armazenado na variável x e exibido movinav2 (4, x) : X - novos dados (valor 4), eo novo resultado será armazenado na variável x, e exibido (43) 2. Descrição da função movinavg: variável r - é o resultado (a lista média) que será retornada variável i - é a variável de índice, e aponta para o fim da sub-lista a lista sendo calculada a média. Variável z - uma variável auxiliar A função usa a variável i para determinar quais valores da lista serão considerados no cálculo da média seguinte. Em cada iteração, a variável i aponta para o último valor na lista que será usado no cálculo médio. Portanto, só precisamos descobrir qual será o primeiro valor na lista. Geralmente bem tem que considerar p elementos, então o primeiro elemento será o indexado por (i-p1). No entanto, nas primeiras iterações, esse cálculo será normalmente negativo, de modo que a seguinte equação irá evitar índices negativos: max (i-p1,1) ou, arranjar a equação, max (i-p, 0) 1. Mas o número de elementos nas primeiras iterações também será menor, o valor correto será (índice final - começar o índice 1) ou, arranjando a equação, (i - (max (ip, 0) 1) e então , (I-max (ip, 0)). A variável z contém o valor comum (max (ip), 0), então o beginindex será (z1) eo numberofelements será (iz) mid (list, z1, iz) retornará a lista de valor que será a soma média ) Irá somá-los soma (.) (Iz) ri os medirá e armazenará o resultado no lugar apropriado na lista de resultados fp1 cria uma aplicação parcial fixando o (neste caso) o segundo e terceiro parâmetrosA Algoritmo Móvel Simples I Estou procurando uma maneira de encontrar a média móvel para os clientes durante um período de 30 dias. No entanto, eu não era capaz de encontrar qualquer código de amostra VB para me ajudar a começar. Eu encontrei este exemplo de C no projeto do código mas minhas tentativas na conversão não foram successfull. Alguém tem uma classe VB existente que eles gostariam de compartilhar ou você sabe de uma amostra que eu poderia usar para construir meu próprio I039m trabalhando em uma função para retornar uma média exponencial e há um monte de exemplos de médias móveis exponenciais, mas eles Todos começam com uma média móvel que é apenas a média como uma vantagem para o cálculo da média móvel contínua. Eu precisava apenas de uma média exponencial de um conjunto de valores. Depois de Googling meu Bing fora eu ainda haven039t visto nada assim aqui é a minha tentativa de uma média exponencial básica. Isso é correto Existem alguns erros Eu vi algum texto sobre como adicionar um valor de suavização para alterar a curva da média exponencial, mas não como isso seria implementado. I039ve recentemente começou a usar VB 2010 Express Edition e Windows 7 Home Premium x64 e I039m tentando escrever um jogador de multimídia simples. Meu algoritmo é: Algoritmo simples do jogador do mutlimedia: 1. Criar um formulário com três caixas de lista (um para diretórios acessíveis, um para limas acessíveis, um para diretórios e limas INACCESSIBLES), um combobox da movimentação (para uma lista das movimentações). Uma caixa de texto para manter a extensão de arquivo. Um botão de pesquisa de início para iniciar uma pesquisa para os arquivos. 2. A carga do formulário preenche o comboBox com uma lista de todas as unidades lógicas que são do tipo fixed e estão prontas. 3. O usuário seleciona uma unidade para pesquisar usando o comboxBox. 4. O usuário insere uma extensão de arquivo em uma caixa de texto. 5. O usuário pressiona o botão de busca. 6. O computador procura todos os diretórios começando na raiz para todos e quaisquer arquivos correspondentes à extensão do arquivo. Os diretórios de acesso de leitura permitidos são adicionados a uma lista de diretórios. Os nomes de arquivos de acesso de leitura permitidos (ou seja, o caminho completo de cada arquivo individual) são adicionados a uma caixa de listagem de nomes de arquivo. 7. Uma vez que a caixa de listagem de arquivos é preenchida, clicar em um arquivo na caixa de listagem passa o caminho completo do arquivo selecionado para outro formulário que é aberto e mostra as tags ID3 v1 do arquivo em caixas de texto e também o obrigatório abrir, reproduzir, pausar , Botões de parada e fechamento. Além disso, um botão Editar OK que é ativado se o usuário editar as tags ID3 v1. 8. A seqüência para reproduzir o arquivo é: open, play (então qualquer um de pausa, play, stop), close - observe que close também pára o arquivo primeiro se ele está sendo reproduzido e fecha. 9. O usuário fecha o formulário de reprodução e volta para a primeira forma (ou seja, o formulário de busca). 10. O fechamento do formulário de pesquisa sai do aplicativo. Ok, eu posso preencher as unidades combobox nenhum problema. Eu posso obter uma lista de diretórios ok I can039t (e acredite em mim. I039ve tentou 100039s de maneiras) parecem obter um filelist de todos os arquivos em todos os diretórios começando na raiz que correspondem aos critérios - that039s o pouco eu continuo ficando preso em . Eu continuo recebendo uma exceção de acesso não autorizado. Trapping essa exceção não parece fazer nada útil como eu can039t continuar o loop de pesquisa (OU obter o nome do arquivo que está causando a exceção e adicioná-lo aos arquivos listbbox) - e assim can039t obter qualquer filenames. BTW Posso abrir, reproduzir, pausar, parar e fechar qualquer dado arquivo mp3 (com um caminho correto) sem problemas usando o Win32 API. Eu sei que um par de listers arquivo, mas eles areseem altamente complicado para o que deve ser uma tarefa muito simples. No bom e velho DOS, seria preciso uma ou duas linhas de usar os comandos DIR ou Tree para encontrar os arquivos, então eu não posso acreditar que é tão difícil de fazer no VB. Parece-me que Directory. GetFiles (searchpattern, startdirectory, option SearchFolderDepth) não funciona corretamente devido à exceção que surge do evento unathourised exceção (e que, em seguida, parece ser impossível de obter o filepath e, em seguida, continuar o loop pelo código do manipulador de exceção simples). Eu tenho um programa de datalogging científico que eu tenho desenvolvido por um número de anos agora. Agora precisamos adicionar alguma funcionalidade para que produza uma média móvel dos dados coletados. Eu posso criar uma fila de myDataClass para fazer o buffer de fifo, mas eu queria saber o que a melhor maneira de fazer a média pode ser. Como você pode ver a partir do exemplo de código abaixo, myDataClass contém várias estruturas de dados, algumas das quais podem ser calculadas e algumas que não podem (por exemplo, a string). Alguém tem um código simples para mover e mudar o nome de um arquivo de imagem Aqui está um exemplo de exatamente o que eu preciso fazer. Ok let039s presumir que o usuário final está editando um registro chamado Mick039s Milktart, a tabela DataBase campo chamado ID (chave primária) tem um valor de 237. O usuário clica em um botão para adicionar uma imagem a esse registro. Um OpenFileDialog aberto e um arquivo de imagem chamado quotNewImage. pngquot é selecionado pelo usuário de quotMyPicturesquot. code. Eu quero incluir uma média em uma coluna onde a média ignora valores zero em uma célula de relatório onde a coluna pode ter Eu quero 16, não 11 assim (17 19 12 13 19) 5 não (17 19 0 0 12 13 19) 7 Algo como isto se isso funcionasse. Essencialmente apenas média tudo na coluna NÃO um zero Eu coloquei comentários sobre a saída média desde que eu continuei recebendo mensagens de erro sobre isso. Minha saída continua dizendo: Valor máximo: 33 Valor mínimo: 33 o que estou fazendo errado Option Explicit On Option Strict Em I039m em uma classe de ciência da computação, e estamos escrevendo programas simples usando Visual Basic 2008. Eu sou realmente inepto quando se trata de Isso, como eu nunca fiz isso antes. Eu preciso escrever um programa que: quotAsks o usuário para 5 números e calcula a média. Em seguida, exibe a média com uma mensagem adequada antes da média. Eu tenho sido muito perto com isso, mas eu não posso obter os números para somar, em seguida, dividir por 5 e exibir uma mensagem pop-up. Estou tentando implementar um Algoritmo chamado quotDiamond-Square Algorithmquot Estou tendo problemas para terminá-lo para que ele retiurns o resultado necessário. Até agora eu tenho o folloiwng. MPerformanceCounter privado como novo System. Diagnostics. PerformanceCounter (quotProcessorquot, quotTest de processador, quotTotalquot) Existe alguém pode postar um código simples usando vb, que começam a construir um simples jogos Tentando fazer um navegador simples com alguns addon039s simples. O que eu tenho feito é configurar um menu (fórum) para o usuário digitar seu endereço web de provedores de e-mail e ele vai salvá-lo em um arquivo xml. Quando eles clicam no link de e-mail, ele deve carregar o e-mail xml iformation e colocar essa informação no tbhtml. text e navegar. Eu continuo recebendo uma exceção nula e não tenho certeza do que está acontecendo aqui. Aqui está o código: Navegadores: Private Sub btnEmailClick (ByVal remetente Como System. Object, ByVal e As System. EventArgs) Handles btnEmail. Click 039Load Ação Dim SavedEmailObj Como armazenamento I039ll fazer o meu melhor para explicar o que o algoritmo é suposto fazer: There039s Uma receita classe 039Recipe039.ach pode incluir outras receitas, mas não pode incluir-se ou qualquer outra receita que inclui. Assim, um exemplo simples é que temos apenas duas receitas A A, B, C (1) Receita C Adiciona B (2) Receita B Adiciona A (3) Receita tenta adicionar C, mas can039t por causa da relação. C - B - A. I039m Micah. ElectricalElectronic engenharia 500 nível estudante. I039m trabalhando em meu projeto final do ano. Por favor, eu preciso de um código para a implementação do algoritmo RSA em VB. Sua ajuda será apreciada. É o algoritmo para VB editor lançado em qualquer lugar porque i039m tentando criar o meu próprio editor que dá várias opções como Linking e auto definido funções de matriz (veja abaixo) de tal forma que uma edição pode atualizar vários outros em vários lugares, mas eu ainda quero ter O editor de VB de formatação automática nos fornece um exemplo de uma função de matriz autodefinida (count): podemos transformar isso: Public Test de classe Private Shared numberofmethods As Integer 2 Public Função getnumberofmethodsjuzanexample () As Integer Retornar numberofmethods bem, naturalmente, em vez do Código que seria apenas clique e selecione (eu escrevi o código em ltgt apenas para mostrar what039s acontecendo) eu preciso de alguns tutorial para implementar BLS (Boneh-Lynn-Shacham) algoritmo de assinatura para criar a chave privada e chave pública para criptografar uma mensagem. Eu preciso de tutorial para implementar isso em VB. Eu encontrei um algoritmo em C que eu preciso converter para C. Problema é, eu nunca usei C para a sintaxe é realmente estranho para mim. Implementação do algoritmo de Berlekamp-Massey para calcular a complexidade linear da seqüência binária s array de bytes com seqüência binária retorna Comprimento de LFSR com menor comprimento que gera s Eu quero criar meu próprio algoritmo Como eu seria capaz de usar meu próprio Algoritmo de Criptografia no meu programa tal Como criptografar texto. Eu não consegui entender isso. Você pode escrever um algoritmo que pode calcular 500 fatorial. símbolo científico (modo) não é autorizado. Answer deve estar no modo String. Eu estou usando VB e estou tentando chegar a algum algoritmo ou algum pseudo-código, ou algum código VB que vai me deixar fazer o seguinte (espero que eu possa explicar isso bem): Eu tenho 2 objetos de coleta, Cob1 e Cob2. Esses objetos de coleção armazenam objetos que implementam uma interface chamada ICob. ICob tem 3 propriedades. Uma propriedade IsSelected booleana, uma propriedade chamada Length, que retorna um TimeSpan, e uma propriedade Rating, que é um inteiro curto. OK, agora Cob1 tem cerca de 100 objetos armazenados na coleção e Cob2 é uma coleção vazia. O que eu quero fazer é selecionar objetos de Cob1 e copiá-los para Cob2. Eu quero as seguintes regras obedecidas ao selecionar os objetos embora: Até agora, meu amigo tem isso, e we039re tentando descobrir como obter o código para dizer converter F para C, e voltar. Tudo o que podemos usar para a entrada é (exemplo :) 10, f e ele vai mudá-lo para 40, C. Perdoe-me se esta é uma pergunta tola. Mas eu acho que de volta ao meu Comp. Sei. Classes e eu me lembro distintamente learningbeing questionado em vários algoritmos de classificação ea correspondente notação 039Big O039. Fora da sala de aula, porém, nunca escrevi código para classificar. Quando recebo resultados de um banco de dados, eu uso 039Order By039. Caso contrário, eu uso uma classe de coleção que implementa um tipo. Eu tenho implementado IComparable para permitir a classificação, mas I039ve nunca foi além that. Was classificação sempre apenas uma busca acadêmica para aqueles de nós que don039t implementar languagesframeworks Ou é apenas que as modernas linguagens em execução em hardware moderno torná-lo um detalhe trivial para se preocupar Finalmente, Quando eu chamo. Sort em uma lista (Of String), por exemplo, qual algoritmo de classificação está sendo usado sob o capô I039m tentando converter o seguinte algoritmo de C para VB eo VB eu tenho não está produzindo os mesmos resultados que o meu C Algoritmo, alguém pode me dizer onde I039ve ido errado em minha conversão pública estática IEnumerableltTgt CombinationsltTgt (this IEnumerableltTgt elementos, int k) ListltTgt resultado novo ListltTgt () Eu preciso criptografar o arquivo vbs usando um algoritmo criptográfico. Eu li sobre a conversão em arquivo vbe, mas há alguma outra maneira de fazer Eu tenho visual studio 2008, e temos sido dadas tarefas específicas para transportar o nosso para o nosso curso, temos sido convidados a implementar o algoritmo euclid039s usando um tempo Loop, fazendo isso sem a parte visual do visual basic o que quer que isso significa um exemplo de uma pergunta que eles deram foi 1) HCF (88,26) 2 como eu iria fazer isso, como eu estou completamente confuso, e os prazos estão se aproximando rapidamente . Eu tenho alguns arquivos de texto que contêm ltimg widthquot100quot ou ltimg widthquot1400quot ou. Como eu poderia substituir tudo acima com o seguinte, uma vez que a largura da imagem não é estático estou trabalhando no projeto de usar a otimização de colônia de formigas e espcially no algoritmo antnet, mas eu tenho muitos problemas na programação deste algoritmo, e desde que eu não perfer usando simulação para aquele propósito. Eu quero implementar o algoritmo banqueiros em vb como posso implementá-lo Estou lutando para escrever um algoritmo de classificação que pode classificar os caracteres em uma palavra lexicograficamente (alfabeticamente) da seguinte forma lexicográfica da palavra: - Contaminação lexicograficamente Ordenado Texto Índice escrever um pseudo-código Ou uma implementação em C ou VB de como eu posso fazer um tipo lexicográfico da palavra acima

No comments:

Post a Comment