<jupyter_start><jupyter_text><jupyter_code>import numpy as np<jupyter_output><empty_output><jupyter_text>Pontos da quadratura gaussiana<jupyter_code># um ponto
kxi1   = np.array([0.0]) 
alpha1 = np.array([2.0])
# 2 pontos
kxi2   = np.array([-0.577350269189626e0, 0.577350269189626e0]) 
alpha2 = np.array([1.0, 1.0])
# 3 pontos
kxi3   = np.array([-0.774596669241483e0, 0.0e0              , 0.774596669241483e0]) 
alpha3 = np.array([ 0.555555555555556e0, 0.888888888888889e0, 0.555555555555556e0])
# 4 pontos
kxi4   = np.array([-0.861136311594053e0, -0.339981043584856e0, 0.339981043584856e0, 0.861136311594053e0]) 
alpha4 = np.array([ 0.347854845137454e0,  0.652145154862546e0, 0.652145154862546e0, 0.347854845137454e0])
# 5 pontos
kxi5   = np.array([-0.906179845938664e0, -0.538469310105683e0, 0.0e0                , 0.538469310105683e0, 0.906179845938664e0]) 
alpha5 = np.array([ 0.236926885056189e0,  0.478628670499366e0, 0.568888888888889e0, 0.478628670499366e0, 0.236926885056189e0])


ksis   = [kxi1, kxi2, kxi3, kxi4, kxi5]
alphas = [alpha1, alpha2, alpha3, alpha4, alpha5]<jupyter_output><empty_output><jupyter_text>Função que se quer integrar<jupyter_code>def f1(e):
  return e**2 - 64*e + 1

def f2(n, e):
  return (e**2 + 1)*(n+1)<jupyter_output><empty_output><jupyter_text>Quadratura gaussina para o intervalor [-1, 1]<jupyter_code>def quadratura_gauss(func, n_pontos=5):
  '''
  ----------------------------------------------------------------
  Quadratura gaussiana no intervalor [-1, 1]
  ----------------------------------------------------------------
  func     - funcao que se quer calcular a integral
  n_pontos - numero de pontos de gaus
  ----------------------------------------------------------------
  Retorna o valor da integral
  ----------------------------------------------------------------
  '''
  pontos = ksis[n_pontos-1]
  pesos  = alphas[n_pontos-1]

  tmp = 0.0e0

  for i in range(0, n_pontos):
    ksi_i   = pontos[i]
    alpha_i = pesos[i]
    tmp += func(ksi_i) * alpha_i

  return tmp



def quadratura_gauss_dupla(func, n_pontos=5):
  '''
  ----------------------------------------------------------------
  Quadratura gaussiana dupla no intervalor [-1, 1]
  ----------------------------------------------------------------
  func     - funcao que se quer calcular a integral
  n_pontos - numero de pontos de gaus
  ----------------------------------------------------------------
  Retorna o valor da integral
  ----------------------------------------------------------------
  '''
  pontos = ksis[n_pontos-1]
  pesos  = alphas[n_pontos-1]

  tmp = 0.0e0
  for i in range(0, n_pontos):
    ksi_i   = pontos[i]
    alpha_i = pesos[i]
    for j in range(0, n_pontos):
      ksi_j   = pontos[j]
      alpha_j = pesos[j]
      tmp += func(ksi_i, ksi_j)*alpha_i*alpha_j

  return tmp<jupyter_output><empty_output><jupyter_text>Integral simples:\begin{equation}valor = \int_{-1}^{1} f(\xi) d\xi \end{equation}onde \begin{equation}f(\xi) = \xi^2 - 64\xi + 1\end{equation}Calculo da integral para os pontos de 1 a 5<jupyter_code>for n in [1,2,3,4,5]:
  valor = quadratura_gauss(f1, n)
  print(f'O valor da integral para {n} de integração é = {valor:.14e}')<jupyter_output>O valor da integral para 1 de integração é = 2.00000000000000e+00
O valor da integral para 2 de integração é = 2.66666666666667e+00
O valor da integral para 3 de integração é = 2.66666666666667e+00
O valor da integral para 4 de integração é = 2.66666666666667e+00
O valor da integral para 5 de integração é = 2.66666666666667e+00<jupyter_text>Integral dupla:\begin{equation}valor = \int_{-1}^{1} \int_{-1}^{1} f(\eta, \xi) d\eta d\xi\end{equation}onde\begin{equation}f(\xi, \eta) = (\xi^2 +1)(\eta +1)\end{equation}Calculo da integral para os pontos de 1 a 5<jupyter_code>for n in [1,2,3,4,5]:
  valor = quadratura_gauss_dupla(f2, n)
  print(f'O valor da integral para {n} de integração é = {valor:.14e}')<jupyter_output>O valor da integral para 1 de integração é = 4.00000000000000e+00
O valor da integral para 2 de integração é = 5.33333333333333e+00
O valor da integral para 3 de integração é = 5.33333333333334e+00
O valor da integral para 4 de integração é = 5.33333333333333e+00
O valor da integral para 5 de integração é = 5.33333333333333e+00
{'fraction_non_alphanumeric': 0.2282225874618455, 'fraction_numerical': 0.1617750645691477, 'mean_word_length': 2.4410339256865914, 'pattern_counts': {'":': 0, '<': 23, '<?xml version=': 0, '>': 23, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 14, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '6', 'dir': 'jupyter-structured-clean-dedup', 'id': '79838', 'license': 'MIT', 'n_tokens_mistral': 2038, 'n_tokens_neox': 1634, 'n_words': 366, 'path': 'notebooks/Quadratura_gauss.ipynb', 'repo_name': 'HenriqueCCdA/ElementosFinitosCurso', 'size': '4259'}