Skip to content

Alm3ida/calculo_numerico

Repository files navigation

Projetos de Cálculo Numérico

Esse repositório foi construído para organizar os projetos relacionados a conteúdos de Cálculo Numérico e relacionados.

Índice de projetos:

  1. Integral de Riemman
  2. Convolução de Sinais no Tempo Discreto (LSTI)

1. Integral de Riemann

Badge conclusão

📄 Descrição do projeto:

Esse projeto calcula de forma gráfica as interações de uma integral de riemann sobre uma função $f(x) = -\dfrac{x^3}{100}(10-x)$ no intervalo fechado $[0, 10]$, e mostra o valor aproximado da integração para uma quantidade de retângulos aproximadores de 1 até 100.

📲 Funcionalidades:

  • Interatividade: O script utiliza A ferramenta Slider da biblioteca do Streamlit, que permite a variação do parâmetro de entrada que cuida das divisões da área em N retângulos diferentes. E isso trás uma variedade de gráficos para valores diferentes de N.

  • Gráficos: Com o uso do Matplotlib, é mostrada a função $f(x)$ e também os retângulos alinhados à direita para cada subintervalo.

  • Página web: Com o uso do Streamlit, também é possível montar um documento semelhante ao markdown para mostrar um pouco da contextualização teórica do problema. Como também é feito no Jupyter Notebook anexado no repositório.

🛠️ Tecnologias utilizadas:

  • Streamlit: Tecnologia para gerar o modelo interativo com parâmetros variáveis utilizando sliders.

    Na imagem, uma demonstração da utilização do slider, no website gerado pelo Streamlit e verificando a quantidade de retângulos em cima da curva da função.

  • Numpy: Biblioteca de computação numérica em Python, que organiza as estruturas de dados em arrays e possibilita algumas operações com arranjos n-dimensionais.

  • Matplotlib: Biblioteca utilizada para computar graficamente os dados processados através dos arrays do Numpy.

2. Convolução de Sinais no Tempo Discreto

Badge conclusão

📄 Descrição do projeto:

Algoritmo que calcula a convolução numérica de dois sinais descritos por funções de sinais. O modelo matemático utilizado inverte e atrasa um sinal no tempo enquanto mantém o outro, calculando assim a expressão:

$$ y[n] = x[n]*h[n] = \displaystyle\sum_{\tau = -\infty}^{\infty} x[\tau]h[n-\tau] $$

📲 Funcionalidades:

  • Programação Dinâmica: O script realiza a leitura de arquivos de texto (.txt) para executar código Python. As várias funções de sinais definidas dentro do escopo analisado são produtos da utilização de um arquivo de texto formatado executado através do método exec().

  • Gráficos: Com o uso do Matplotlib, é mostrada a função de sinal $x(t)$, $h(t)$ e também a sua convolução, $y(t) = x(t) * h(t)$. Os gráficos, que representam sinais descritos, são construídos utilizando o método stem.

🛠️ Tecnologias utilizadas:

  • Numpy: Biblioteca de computação numérica em Python, que organiza as estruturas de dados em arrays e possibilita algumas operações com arranjos n-dimensionais.
  • Matplotlib: Biblioteca utilizada para computar graficamente os dados processados através dos arrays do Numpy.

Imagem colorida ilustrando três gráficos. O primeiro mostra o sinal x(t), o segundo mostra o sinal h(t), e o terceiro mostra a convolução deles.

3. Exemplo de Espaço Normado (Geometria do Taxista)

About

Repositório para armazenamento de algoritmos de cálculo numérico.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published