Ir ao conteúdo
  • Cadastre-se

Equações diferenciais em C


Posts recomendados

Boa tarde galera!

Uma dúvida bem boba, mas que pode me dar uma luz a respeito de alguns projetos que tenho em mente, é a seguinte:

Existe alguma biblioteca que trabalhe com equações diferenciais? No caso para cálculo de transitório de primeira e/ou segunda ordem? 

 

Se vocês souberem se realmente há uma maneira de fazer isto e puderem me ajudar me dizendo por onde eu poderia começar a estudar, para então implementar esses tipos de cálculos em um microcontroladores PIC.

 

E além do mais, fiquei sabendo a pouco que tem bibliotecas/funções para retorno de seno, cosseno de ângulo. Isso pra mim foi um pouco que novidade :D, quais mais cálculos é possível ter através dessas bibliotecas? E quais bibliotecas/funções fornecem esses cálculos? 

Se puderem me recomendar algum material didático referente a isso, ou qualquer outro tipo de conhecimento que vocês achem interessante compartilhar, eu agradeço!! 

Link para o comentário
Compartilhar em outros sites

Rafaela, que assunto bruto hein.

Mas vamos por partes, equações diferenciais em um primeiro momento você não calcula em tempo real dentro de um microcontrolador (ainda mais um PIC que nem multiplicar sabe, rs), voce pode utilizar as mesmas para obter o comportamento de um determinado fenômeno fisico, a partir desse comportamento você pode obter parâmetros para atuar sobre ele ou mensurar através de sensores.

Em sistemas embarcados em geral, a partir de um modelo gerado por um conjunto de equações diferencias, você determina se irá controlar (controle PID, compensadores avanço e atraso de fase), se irá estimar (estimadores, modelos de markov, filtros kalmman), ou modificar (filtros digitais e transformadas), esses tópicos você irá para uma representação digital de equações diferenciais chamadas de equações de diferenças que são basicamentes, polinômios.

Se esta querendo algum modelo matemático, eu sugiro que não invente e use ferramentas especiais para isso como o Matlab e versões abertas como scilab e Octave, com ele voce tera possibilidae de modelar sistemas além de simular em dominios continuos e discretos (esse ultimo tem tudo a ver com processamento digital de sinais). 

 

Seguem alguns tutoriais para apreciação dessas ferramentas:

http://web2.clarkson.edu/class/ma571/Xeno-MATLAB_guide.pdf

http://mars.uta.edu/mae3183/simulation/SciLab_for_Dummies.pdf

 

Agora sobre cáculos matemáticos, como seno, cosseno e outros, se esta a programar em C, o compilador fornece em conjunto com a sua libc o header math.h, que realiza essas funções em ponto flutuante, se memoria e velocidade não for  seu problema maravilha, senão vais ter que apelar para algoritmos otimizados para seu microcontrolador (e olha otimizar qualquer coisa pra PIC é uma baita tarefa).

Veja a referencia das funções que math.h te oferece:

http://www.nongnu.org/avr-libc/user-manual/math_8h.html

 

E para ajudar, segue uma boa biblioteca em ponto fixo:

https://savannah.nongnu.org/projects/fixmath

 

Espero que tenha esclarecido um pouco as suas duvidas.

Abs

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...