Manual do Maxima: Funções e Variáveis Definidas para QUADPACK

Previous: Introdução a QUADPACK, Acima: Integração [Conteúdo][Índice]

### 20.4 Funções e Variáveis Definidas para QUADPACK

Função: quad_qag (f(x), x, a, b, chave, epsrel, limite)
Função: quad_qag (f, x, a, b, chave, epsrel, limite)

  Integração de uma função genérica sobre um intervalo finito. `quad_qag` implementa um integrador adaptativo globalmente simples usando a estratégia de Aind (Piessens, 1973). O chamador pode escolher entre 6 pares de fórmulas da quadratura de Gauss-Kronrod para a componente de avaliação da regra. As regras de alto nível são adequadas para integrandos fortemente oscilatórios.

  `quad_qag` calcula a integral

  integrate (f(x), x, a, b)

  A função a ser integrada é f(x), com variável dependente x, e a função é para ser integrada entre os limites a e b. chave é o integrador a ser usado e pode ser um inteiro entre 1 e 6, inclusive. O valor de chave seleciona a ordem da regra de integração de Gauss-Kronrod. Regra de alta ordem são adequadas para integrandos fortemente oscilatórios.

  O integrando pode ser especidficado como o nome de uma função Maxima ou uma função Lisp ou um operador, uma expressão lambda do Maxima, ou uma expressão geral do Maxima.

  A integração numérica é concluída adaptativamente pela subdivisão a região de integração até que a precisão desejada for completada.

  Os argumentos opcionais epsrel e limite são o erro relativo desejado e o número máximo de subintervalos respectivamente. epsrel padrão em 1e-8 e limite é 200.

  `quad_qag` retorna uma lista de quatro elementos:

  - uma aproximação para a integral,
  - o erro absoluto estimado da aproximação,
  - o número de avaliações do integrando,
  - um código de erro.

  O código de erro (quarto elemento do valor de retorno) pode ter os valores:

  `0`

    se nenhum problema for encontrado;

  `1`

    se muitos subintervalos foram concluídos;

  `2`

    se erro excessivo é detectado;

  `3`

    se ocorre comportamento extremamente ruim do integrando;

  `6`

    se a entrada é inválida.

  Exemplos:

      (%i1) quad_qag (x^(1/2)*log(1/x), x, 0, 1, 3);
      (%o1)    [.4444444444492108, 3.1700968502883E-9, 961, 0]
      (%i2) integrate (x^(1/2)*log(1/x), x, 0, 1);
                                      4
      (%o2)                           -
                                      9

Função: quad_qags (f(x), x, a, b, epsrel, limite)
Função: quad_qags (f, x, a, b, epsrel, limite)

  Integração de uma função geral sobre um intervalo finito. `quad_qags` implementa subdivisão de intervalo globalmente adaptativa com extrapolação (de Doncker, 1978) através do algorítmo de (Wynn, 1956).

  `quad_qags` computes the integral

  integrate (f(x), x, a, b)

  A função a ser integrada é f(x), com variável dependente x, e a função é para ser integrada entre os limites a e b.

  O integrando pode ser especidficado como o nome de uma função Maxima ou uma função Lisp ou um operador, uma expressão lambda do Maxima, ou uma expressão geral do Maxima.

  Os argumentos opcionais epsrel e limite são o erro relativo desejado e o número máximo de subintervalos, respectivamente. epsrel padrão em 1e-8 e limite é 200.

  `quad_qags` retorna uma lista de quatro elementos:

  - uma aproximação para a integral,
  - o erro absoluto estimado da aproximação,
  - o número de avaliações do integrando,
  - um código de erro.

  O código de erro (quarto elemento do valor de retorno) pode ter os valores:

  `0`

    nenhum problema foi encontrado;

  `1`

    muitos subintervalos foram concluídos;

  `2`

    erro excessivo é detectado;

  `3`

    ocorreu comportamento excessivamente ruim do integrando;

  `4`

    falhou para convergência

  `5`

    integral é provavelmente divergente ou lentamente convergente

  `6`

    se a entrada é inválida.

  Exemplos:

      (%i1) quad_qags (x^(1/2)*log(1/x), x, 0 ,1);
      (%o1)   [.4444444444444448, 1.11022302462516E-15, 315, 0]

  Note que `quad_qags` é mais preciso e eficiente que `quad_qag` para esse integrando.

Função: quad_qagi (f(x), x, a, inftype, epsrel, limite)
Função: quad_qagi (f, x, a, inftype, epsrel, limite)

  Integração de uma função genérica sobre um intervalo finito ou semi-finito. O intervalo é mapeado sobre um intervalo finito e então a mesma estratégia que em `quad_qags` é aplicada.

  `quad_qagi` avalia uma das seguintes integrais

  integrate (f(x), x, minf, inf)

  integrate (f(x), x, minf, a)

  integrate (f(x), x, a, minf, inf)

  usando a rotina Quadpack QAGI. A função a ser integrada é f(x), com variável dependente x, e a função é para ser integrada sobre um intervalo infinito.

  O integrando pode ser especidficado como o nome de uma função Maxima ou uma função Lisp ou um operador, uma expressão lambda do Maxima, ou uma expressão geral do Maxima.

  O parâmetro inftype determina o intervalo de integração como segue:

  `inf`

    O intervalo vai de a ao infinito positivo.

  `minf`

    O intervalo vai do infinito negativo até a.

  `both`

    O intervalo corresponde a toda reta real.

  Os argumentos opcionais epsrel e limite são o erro relativo desejado e o número maximo de subintervalos, respectivamente. epsrel padrão para 1e-8 e limite é 200.

  `quad_qagi` retorna uma lista de quatro elementos:

  - uma aproximação para a integral,
  - o erro absoluto estimado da aproximação,
  - o número de avaliações do integrando,
  - um código de erro.

  O código de erro (quarto elemento do valor de retorno) pode ter os valores:

  `0`

    nenhum problema foi encontrado;

  `1`

    muitos subintervalos foram concluídos;

  `2`

    erro excessivo é detectado;

  `3`

    ocorreu comportamento excessivamente ruim do integrando;

  `4`

    falhou para convergência;

  `5`

    integral é provavelmente divergente ou lentamente convergente;

  `6`

    se a entrada for inválida.

  Exemplos:

      (%i1) quad_qagi (x^2*exp(-4*x), x, 0, inf);
      (%o1)        [0.03125, 2.95916102995002E-11, 105, 0]
      (%i2) integrate (x^2*exp(-4*x), x, 0, inf);
                                     1
      (%o2)                          --
                                     32

Função: quad_qawc (f(x), x, c, a, b, epsrel, limite)
Função: quad_qawc (f, x, c, a, b, epsrel, limite)

  Calcula o valor principal de Cauchy de f(x)/(x - c) over a finite interval. A estratégia é globalmente adaptativa, e a integração de Clenshaw-Curtis modificada é usada sobre as subamplitudes que possuírem o ponto x = c.

  `quad_qawc` calcula o valor principal de Cauchy de

  integrate (f(x)/(x - c), x, a, b)

  usando a rotina Quadpack QAWC. A função a ser integrada é `f(x)/(x - c)`, com variável dependente x, e a função é para ser integrada sobre o intervalo que vai de a até b.

  O integrando pode ser especidficado como o nome de uma função Maxima ou uma função Lisp ou um operador, uma expressão lambda do Maxima, ou uma expressão geral do Maxima.

  Os argumentos opcionais epsrel e limite são o erro relativo desejado e o máximo número de subintervalos, respectivamente. epsrel padrão para 1e-8 e limite é 200.

  `quad_qawc` retorna uma lista de quatro elementos:

  - uma aproximação para a integral,
  - o erro absoluto estimado da aproximação,
  - o número de avaliações do integrando,
  - um código de erro.

  O código de erro (quarto elemento do valoor de retorno) pode ter os valores:

  `0`

    nenhum problema foi encontrado;

  `1`

    muitos subintervalos foram concluídos;

  `2`

    erro excessivo é detectado;

  `3`

    ocorreu comportamento excessivamente ruim do integrando;

  `6`

    se a entrada é inválida.

  Exemplos:

      (%i1) quad_qawc (2^(-5)*((x-1)^2+4^(-5))^(-1), x, 2, 0, 5);
      (%o1)    [- 3.130120337415925, 1.306830140249558E-8, 495, 0]
      (%i2) integrate (2^(-alpha)*(((x-1)^2 + 4^(-alpha))*(x-2))^(-1), x, 0, 5);
      Principal Value
                             alpha
              alpha       9 4                 9
             4      log(------------- + -------------)
                            alpha           alpha
                        64 4      + 4   64 4      + 4
      (%o2) (-----------------------------------------
                              alpha
                           2 4      + 2

               3 alpha                       3 alpha
               -------                       -------
                  2            alpha/2          2          alpha/2
            2 4        atan(4 4       )   2 4        atan(4       )   alpha
          - --------------------------- - -------------------------)/2
                      alpha                        alpha
                   2 4      + 2                 2 4      + 2
      (%i3) ev (%, alpha=5, numer);
      (%o3)                    - 3.130120337415917

Função: quad_qawf (f(x), x, a, omega, trig, epsabs, limit, maxp1, limlst)
Função: quad_qawf (f, x, a, omega, trig, epsabs, limit, maxp1, limlst)

  Calcula uma transformação de cosseno de Fourier ou de um seno de Fourier sobre um intervalo semi-finito. usando a função QAWF do pacote Quadpack. A mesma aproxima como em `quad_qawo` quando aplicada sobre intervalos finitos sucessivos, e aceleração de convergência por meio d algorítimo de Epsilon (Wynn, 1956) aplicado a séries de contribuições de integrais.

  `quad_qawf` calcula a integral

  integrate (f(x)*w(x), x, a, inf)

  A função peso w é selecionada por trig:

  `cos`

    w(x) = cos (omega x)

  `sin`

    w(x) = sin (omega x)

  O integrando pode ser especidficado como o nome de uma função Maxima ou uma função Lisp ou um operador, uma expressão lambda do Maxima, ou uma expressão geral do Maxima.

  Os argumentos opcionais são:

  `epsabs`

    Erro absoluto de aproximação desejado. Padrão é 1d-10.

  `limit`

    Tamanho de array interno de trabalho. (limit - limlst)/2 é o maximo número de subintervalos para usar. O Padrão é 200.

  `maxp1`

    O número máximo dos momentos de Chebyshev. Deve ser maior que 0. O padrão é 100.

  `limlst`

    Limite superior sobre número de ciclos. Deve ser maior ou igual a 3. O padrão é 10.

  epsabs e limit são o erro relativo desejado e o número maximo de subintervalos, respectivamente. epsrel padrão para 1e-8 e limit é 200.

  `quad_qawf` retorna uma lista de quatro elementos:

  - uma aproximação para a integral,
  - o erro absoluto estimado da aproximação,
  - o número de avaliações do integrando,
  - um código de erro.

  O código de erro (quarto elemento do valor de retorno) pode ter os valores:

  `0`

    nenhum problema foi encontrado;

  `1`

    muitos subintervalos foram concluídos;

  `2`

    erro excessivo é detectado;

  `3`

    ocorreu um comportamento excessivamente ruim do integrando;

  `6`

    se a entrada é invalida.

  Exemplos:

      (%i1) quad_qawf (exp(-x^2), x, 0, 1, 'cos);
      (%o1)   [.6901942235215714, 2.84846300257552E-11, 215, 0]
      (%i2) integrate (exp(-x^2)*cos(x), x, 0, inf);
                                - 1/4
                              %e      sqrt(%pi)
      (%o2)                   -----------------
                                      2
      (%i3) ev (%, numer);
      (%o3)                   .6901942235215714

Função: quad_qawo (f(x), x, a, b, omega, trig, epsabs, limite, maxp1, limlst)
Função: quad_qawo (f, x, a, b, omega, trig, epsabs, limite, maxp1, limlst)

  Integração de cos(omega x) f(x) ou sin(omega x) f(x) sobre um intervalo finito, onde omega é uma constante. A componente de avaliação da regra é baseada na técnica modificada de Clenshaw-Curtis. `quad_qawo` aplica subdivisão adaptativa com extrapolação, similar a `quad_qags`.

  `quad_qawo` calcula a integral usando a rotina Quadpack QAWO:

  integrate (f(x)*w(x), x, a, b)

  A função peso w é selecionada por trig:

  `cos`

    w(x) = cos (omega x)

  `sin`

    w(x) = sin (omega x)

  O integrando pode ser especidficado como o nome de uma função Maxima ou uma função Lisp ou um operador, uma expressão lambda do Maxima, ou uma expressão geral do Maxima.

  Os argumentos opcionais são:

  `epsabs`

    Erro absoluto desejado de aproximação. O Padrão é 1d-10.

  `limite`

    Tamanho do array interno de trabalho. (limite - limlst)/2 é o número máximo de subintervalos a serem usados. Default é 200.

  `maxp1`

    Número máximo dos momentos de Chebyshev. Deve ser maior que 0. O padrão é 100.

  `limlst`

    Limite superior sobre o número de ciclos. Deve ser maior que ou igual a 3. O padrão é 10.

  epsabs e limite são o erro relativo desejado e o número máximo de subintervalos, respectivamente. epsrel o padrão é 1e-8 e limite é 200.

  `quad_qawo` retorna uma lista de quatro elementos:

  - uma aproximação para a integral,
  - o erro absoluto estimado da aproximação,
  - o número de avaliações do integrando,
  - um código de erro.

  O código de erro (quarto elemento do valor de retorno) pode ter os valores:

  `0`

    nenhum problema foi encontrado;

  `1`

    muitos subintervalos foram concluídos;

  `2`

    erro excessivo é detectado;

  `3`

    comportamento extremamente ruim do integrando;

  `6`

    se a entrada é inválida.

  Exemplos:

      (%i1) quad_qawo (x^(-1/2)*exp(-2^(-2)*x), x, 1d-8, 20*2^2, 1, cos);
      (%o1)     [1.376043389877692, 4.72710759424899E-11, 765, 0]
      (%i2) rectform (integrate (x^(-1/2)*exp(-2^(-alpha)*x) * cos(x), x, 0, inf));
                         alpha/2 - 1/2            2 alpha
              sqrt(%pi) 2              sqrt(sqrt(2        + 1) + 1)
      (%o2)   -----------------------------------------------------
                                     2 alpha
                               sqrt(2        + 1)
      (%i3) ev (%, alpha=2, numer);
      (%o3)                     1.376043390090716

Função: quad_qaws (f(x), x, a, b, alpha, beta, wfun, epsabs, limite)
Função: quad_qaws (f, x, a, b, alpha, beta, wfun, epsabs, limite)

  Integração de w(x) f(x) sobre um intervalo finito, onde w(x) é uma certa função algébrica ou logarítmica. Uma estratégia de subdivisão globalmente adaptativa é aplicada, com integração modificada de Clenshaw-Curtis sobre os subintervalos que possuírem os pontos finais dos intervalos de integração.

  `quad_qaws` calcula a integral usando a rotina Quadpack QAWS:

  integrate (f(x)*w(x), x, a, b)

  A função peso w é selecionada por wfun:

  `1`

    w(x) = (x - a)^alpha (b - x)^beta

  `2`

    w(x) = (x - a)^alpha (b - x)^beta log(x - a)

  `3`

    w(x) = (x - a)^alpha (b - x)^beta log(b - x)

  `4`

    w(x) = (x - a)^alpha (b - x)^beta log(x - a) log(b - x)

  O integrando pode ser especidficado como o nome de uma função Maxima ou uma função Lisp ou um operador, uma expressão lambda do Maxima, ou uma expressão geral do Maxima.

  O argumentos opcionais são:

  `epsabs`

    Erro absoluto desejado de aproximação. O padrão é 1d-10.

  `limite`

    Tamanho do array interno de trabalho. (limite - limlst)/2 é o número máximo de subintervalos para usar. O padrão é 200.

  epsabs e limit são o erro relativo desejado e o número máximo de subintervalos, respectivamente. epsrel o padrão é 1e-8 e limite é 200.

  `quad_qaws` retorna uma lista de quatro elementos:

  - uma aproximação para a integral,
  - o erro absoluto estimado da aproximação,
  - o número de avaliações do integrando,
  - um código de erro.

  O código de erro (quarto elemento do valor de retorno) pode ter os valores:

  `0`

    nenhum problema foi encontrado;

  `1`

    muitos subintervalos foram concluídos;

  `2`

    erro excessivo é detectado;

  `3`

    ocorreu um comportamento excessivamente ruim do integrando;

  `6`

    se a entrada é invalida.

  Exemplos:

      (%i1) quad_qaws (1/(x+1+2^(-4)), x, -1, 1, -0.5, -0.5, 1);
      (%o1)     [8.750097361672832, 1.24321522715422E-10, 170, 0]
      (%i2) integrate ((1-x*x)^(-1/2)/(x+1+2^(-alpha)), x, -1, 1);
             alpha
      Is  4 2      - 1  positive, negative, or zero?

      pos;
                                alpha         alpha
                         2 %pi 2      sqrt(2 2      + 1)
      (%o2)              -------------------------------
                                     alpha
                                  4 2      + 2
      (%i3) ev (%, alpha=4, numer);
      (%o3)                     8.750097361672829

Previous: Introdução a QUADPACK, Acima: Integração [Conteúdo][Índice]